1.抽象
“万物皆为对象”,你可以把任何概念化构件(动物,建筑物,服务等),将其表示为程序中的对象。面向对象的核心。
2.继承
父类为子类提供一些属性和行为。
子类继承父类的属性和行为,并能根据自己的需求扩展出新的属性和行为。子类和父类是is-a的关系。
3.多态
指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法
多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
例: List list = new ArrayList();
多态是一种运行期的行为,不是编译期的行为。 函数的重载不是多态。
多态的好处:可替换性,可扩充性。
4.封装
就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。