面向对象的热点问题
2020-03-06 本文已影响0人
今天也要努力呀y
1.如何面向对象和面向过程
- 面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用时依次调用即可.如一辆汽车的启动过程,我们关注的是如果启动,停止的过程,而不是汽车本身.
- 面向对象是把构成问题的事务分解为各个对象,建立对象的目的是为了描述某个事物在整个解决问题的步骤中的行为.这里我们关注的是以汽车为对象,汽车的发动机,刹车等属性的操作.
2.面向对象的三大特征
- 封装:把对象的属性和行为封装起来,载体是类,类通常对客户隐藏实现细节.
- 继承:如果多个类具有相同的属性和行为,可以抽取出共性的内容定义为父类,这时再创建相似的类时只要继承父类定义即可.
- 多态:表现出多种形态,具有多种实现方式.一般表现在有多个构造函数.
3.接口与抽象类有什么区别
1.语法层面
- 抽象类可以提供给成员方法的实现细节,而接口中只能存在public abstract抽象方法
- 抽象类中的成员变量可以是各种类型,接口中的成员变量必须用public static final修饰
- 抽象类中可以有静态代码块和静态方法,接口中不可以有;
- 一个类只能继承一个抽象类,但是可以实现多个接口
2.设计层面
- 抽象是对类的抽象,接口是对行为的抽象
- 如同飞机和鸟,都会飞行,那么飞行这个行为就可以定义为一个接口,然后不同类型的鸟和飞机分别继承鸟类和飞机类.
- 继承是是不是的关系,接口是有没有的关系