JAVA面试题2:什么是面向对象?

面向对象是一种思想,世间万物都可以看做一个对象,这里只讨论面向对象编程(OOP),Java是一个支持并发、基于类和面向对象的计算机编程语言,面向对象软件开发的优点: 代码开发模块化,更易维护和修改; 代码复用性强; 增强代码的可靠性和灵活性; 增加代码的可读性。

面向对象的四大基本特性:
抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不同的需求下,需要提取的特性可能不一样。得到的抽象模型中一般包含:属性(数据)和操作(行为)。这个抽象模型我们称之为类。对类进行实例化得到对象。

封装:封装可以使类具有独立性和隔离性;保证类的高内聚。只暴露给类外部或者子类必须的属性和操作。类封装的实现依赖类的修饰符(public、protected和private等)

继承:对现有类的一种复用机制。一个类如果继承现有的类,则这个类将拥有被继承类的所有非私有特性(属性和操作)。这里指的继承包含:类的继承和接口的实现。

多态:多态是在继承的基础上实现的。多态的三个要素:继承、重写和父类引用指向子类对象。父类引用指向不同的子类对象时,调用相同的方法,呈现出不同的行为;就是类多态特性。多态可以分成编译时多态和运行时多态。

抽象、封装、继承和多态是面向对象的基础。在面向对象四大基础特性之上,我们在做面向对象编程设计时还需要遵循有一些基本的设计原则。

面向对象的七大设计原则:
SOLID原则(单一职责原则、开放关闭原则、里氏替换原则、接口隔离原则和依赖倒置原则) 
迪米特法则 
组合优于继承原则(合成复用原则)。 
在遵循这些面向对象设计原则基础上,前辈们总结出一些解决不同问题场景的设计模式,以四人帮的gof23最为知名。

24种设计模式(gof23+1):
创建型模式: 
1.简单工厂模式(不包含在gof23中) 
2.工厂模式 
3.抽象工厂模式 
4.单例模式 
5.原型模式 
创建者模式 
6.结构型模式: 
7.组合模式 
8.装饰者模式 
9.外观模式 
10.适配器模式 
11.代理模式 
12.享元模式 
13.桥接模式 
行为型模式: 
14.观察者模式 
15.策略模式 
16.状态模式 
17.中介模式 
18.模板方法 
19.命令模式 
20.备忘录模式 
21.访问者模式 
22.解释器模式 
23.迭代器模式 
24.职责链模式 
这里只是简单描述了定义和特征以及设计模式的关系,具体细节不讨论。
--------------------- 
作者:hopeplus 
来源:CSDN 
原文:https://blog.csdn.net/hope900/article/details/78647466 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq_25594727/article/details/85617152