面向对象-封装继承多态

Posted Ariel_欢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象-封装继承多态相关的知识,希望对你有一定的参考价值。

一、什么是封装?请详细解释。主要封装哪些内容?

①每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。这样方法和属性包装在类中,通过类的实例来实现。
②封装:隐藏对象的属性和实现细节,仅对外公开接口,并控制在程序中属性的读和修改的访问级别。

封装:要有装更要有封:把对象的属性和方法装在类中,还得封起来(访问修饰符的权限问题)

二、什么是继承?继承的主要目的是什么?继承与实现之间有什么关系?

1.继承定义了类如何相互关联,共享特性。
2.主要目的:为了更好的复用
3.继承是父类和子类之间的关系,实现是接口和实现类之间的关系。继承和接口都能实现代码重用,提高开发效率。


抽象类和接口的:
相同点:
①都是上层的抽象层
②抽象类和接口都不可实例化
③都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现。

不同点:抽象类和接口的区别

①抽象类中的方法可以有方法体,即抽象类中可以有非抽象方法,但是接口中的方法一定是抽象方法——接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。

②抽象类有构造函数(不能被实例化),但是接口没有构造函数。
③抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。即接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量

④接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。

⑤一个类只能继承一个抽象类,而一个类却可以实现多个接口。(敲黑板!!)——接口可以实现接口隔离
⑥实现接口的类必须要实现接口中的所有方法和属性。抽象类呢??请思考。

三、什么是多态,描述一下多态的主要用途,并用手写一段多态的代码。然后用语言描述你书写的多态语句。

1.多态:多态表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。
2.主要用途:可以实现代码的可拓展性
3.请思考,下边代码体现多态了吗?


解释说明:上边的代码只体现了子类重写父类方法,还没体现多态,只有父类对象可以是不同的子类时才体现多态,如下图:

 

以上是关于面向对象-封装继承多态的主要内容,如果未能解决你的问题,请参考以下文章

浅谈JavaScript的面向对象和它的封装继承多态

举例说明java面向对象的封装继承多态

JS面向对象三大特征:封装、继承、多态

Python3-2020-测试开发-20- 面向对象之封装,继承,多态

面向对象三要素:封装,继承,多态

面向对象的三个特征:封装(抽象)继承多态