1、封装
数据和代码捆绑在一起,避免外界干扰和不确定性访问。
封装,顾名思义就是把客观事物封装成抽象的类。将数据和行为(功能)有机结合起来,形成一个整体。把数据和处理数据的操作结合形成类,数据和函数都是类的成员。增强安全性和简化编程。对外隐藏实现细节暴露公共接口。外部通过接口来调用。如:将公共的数据或方法使用public修饰,而不希望被访问的数据或方法采用private修饰。
2、继承
让某种类型对象获得另一个类型对象的属性和方法。
比如A类被B类继承,A类为父类,B类为子类。B类继承A类的所有公共和保护成员数据(属性)和成员函数(方法)。子类可以重新定义父类某些属性,重写父类的某些方法,即覆盖父类的某些属性和方法,使其获得与父类不同的功能。
比如:将人定义为一个抽象的类,拥有姓名、性别、年龄等公共属性,吃饭、睡觉、走路等公共方法。在定义一个具体的人时,就可以继承这个抽象类,既保留了公共属性和方法,也可以在此基础上扩展跳舞、唱歌等特有方法。
3、多态
同一事物表现出不同事物的能力,即向不同对象发送同一消息,不同的对象在接收时会产生不同的行为。
多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。允许将子类类型的指针赋值给父类类型的指针
实现多态有二种方式:覆盖(override),重载(overload)。
覆盖:是指子类重新定义父类的虚函数的做法。
重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。例如:基类是一个抽象对象——人,那教师、运动员也是人,而使用这个抽象对象既可以表示教师、也可以表示运动员。