这里说的面向对象的程序设计,主要就是指JAVA语言了
(1)封装
封装是将对象相关的状态信息和行为绑定为一个逻辑单元.把信息隐藏到内部,只保留或者说只提供方法给外界访问.这样,使用者就可以通过这些方法访问该对象,而不用关心对象内部细节(应该他也是无法知道内部具体的细节)
封装的好处:
第一、减少耦合,编程中最讲究要解耦了,耦合度不能太高
第二、类内部的结构可以自由更改
第三、可以对成员进行精确控制
第四、隐藏具体信息(最重要了)
JavaBean就是封装的具体体现。一个JavaBean就是一个类,这个类就是用于封装数据,一般都是封装数据库里面的对应数据
(2)继承
继承是指一个类继承另一个类后,就是获得被继承类的属性和方法(其中私有部分虽然也继承了,但是没有使用权力。父类的构造方法是无法继承的,但是可以通过super()调用。继承时,不能根据自己喜爱选择继承哪些属性和方法,只要继承了,就继承了父类的一切)。其中继承者是子类,被继承叫做父类(Java只支持单继承,一个子类只能由一个父类,但是一个父类可以有多个子类)。通俗点说,就是根据已有的类来创建新类,新的类可以增加自己新的属性和方法,相当于子类是父类进化来。其中,所有的类都是继承自Object类,Object是一切类的祖宗。
继承的好处:
通过类与类的继承,大大提高代码的复用,非常方便的就可以使用以前的代码,这样就可以提高开发效率。
什么什么是一种什么,这样可能存在继承关系。其实,继承是破坏了封装的,子类获得了父类的属性和方法,这样对于父类来说,他原本隐藏的细节对子类来说就变成了一切都是透明存在。而且,继承是一种强耦合关系。
(3)多态
一个类型自己的变量既可以指向自己的对象,又可以指向自己的任何子类,这就是多态。多态性就是父类的某个实例方法被子类重写时,可以各自产生自己的功能行为。多态其实也可以说就是一种动态绑定,在执行的期间(非编译期)判断所引用对象的实际类型,根据类型调用具体相对应的方法。多态的实现必要具备三个条件:继承、重写、向上转型。
这就是面向对象编程的三大特征:封装、继承、多态。
如有错误,欢迎大家指出,大家共同进步!