面向对象有哪些方面的特征?
封装:(encapsulation)
隐藏对象的属性和实现细节,仅仅对外公开接口。
将客观事物封装成抽象的类,类可以将自己的属性和方法只让可以信任的类和对象操作,对不可信的进行信息隐藏。
继承:(inheritance)
子类继承父类的所有方法和属性。也就是说使用现有类的所有属性和方法,并且在无需重新编写原来类的情况下对其功能进行扩展。java中一个类只能继承自一个父类。
继承中的术语:
基类,父类,超类:被继承的对象。
子类,派生类:通过继承创建的新类。
实现继承的方式有三种(实现继承,接口继承,可视继承)
实现继承:利用基类的属性和方法,子类无需重新编写代码;
接口继承:仅仅使用接口的方法名称和属性,需要提供方法的实现;
可视继承:子(类)窗体使用父(类)窗体的外观和实现代码的能力。
多态:(polymorphism)
允许将父对象设置成和一个或多个子对象相等的技术。以至于能够利用一个基类或者父类的指针来引用不同类的对象,以及根据所引用的对象的不同,用不同的方式实现相同的操作。
实现方式有两种(覆盖和重载)
覆盖:子类重新定义子类虚函数的做法
重载:存在多个重名的函数,这些函数的参数表不同(参数的个数不同,类型不同,或者类型和个数都不同)