封装:
保证对象自身数据的完整性和安全性。
有助于代码的重用性,避免重复编写代码
只关心使用而不必关心具体的实现,比如:电视机,我们会操作就行了,而不必关心具体的实现;
低耦合:类的内部可以自由修改,对外留有一定的接口;
数据不能被外界访问,只能被封装在同一个类中的函数访问。这些函数提供了对象数据和程序之间的接口。避免数据被程序直接访问的概念被称为“数据隐藏”。
通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
继承:
继承的概念很好的支持了代码的重用性(reusability);
继承是一种树状的层次关系。子类在继承祖先类的成员变量和成员函数的同时也可以定义自己的成员变量和成员函数。
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
多态:
子类以父类的身份出现时,子类特有的属性和方法不可以使用。
比如说加法操作,如果操作的数据是数,它对两个数求和。如果操作的数据是字符串,则它将连接两个字符串。
能够用一种方式引用一个类的不同派生类,但获得的行为对用所引用的派生类。
一种形式(接口稳定),多种实现(实现可变),实质:父类的引用指向了不同的子类实例
多态有两种实现形式:
重载:同一个类中方法的重载——方法名相同,参数个数或参数类型不同
重写:子类重写父类中的抽象方法,或子类重写父类中的虚方法(后面会讲到)