面向对象语言的三大特性——封装性、继承性、多态性Java

要使大规模的软件开发提高酰氯,且易于维护、易于扩展,客观上要求面向对象语言设计具有相应的内在机制的保证。基于这个目的,设计了面向对象语言的三大特性——封装性、继承性、多态性。

封装性
简单地说就是,在类中封装对象地属性和行为描述。
封装(Encapsulation)就是在类中对本类对象有哪些属性,属性的名字、数据类型、可见性,以及对象具有哪些操作进行集中说明。按程序语言术语,类是一种数据类型,可以用类定义对象。对象是变量或是实例。封装,对类的属性的可见性进行说明,可实现对数据的隐藏,防止数据的改变。
面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

继承性
简单地说就是,创建一个新类可以从已创建的类中继承属性和方法。
继承(Inheritance)是为了实现代码的重用。
在已有的基础上生成新的类的过程叫继承。已有的类称为父类或基类,新生成的类称为子类或派生类。注意父类只有一个,就像树的根。通过基础,父类中所有域和方法都成为子类的,子类对象可以直接使用,从而实现代码的重用,实现了多态性。
继承具有传递性。

多态性
同一类的不同行为称为多态性。多态性一定是在同一类对象中表现出来的,不同类的对象即使行为不同,也不能称为多态。举个例子:人和汽车虽然运动方式不同,但由于人和汽车不是同一类的对象,所以不能称这样不同的运动方式具有多态性;汽车和飞机都是交通类工具,他们是同一类对象,而且他们的运动方式不同,所以称交通工具具有多态性。
多态的实现
①定义一个父类,在父类的基础上派生出若干子类;
②每一个子类根据自身的需要对继承自父类的域和方法进行重写,使子类表现出自身行为;
③声明父类对象,并用父类对象表示子类的对象;
④通过父类对象调用被子类重写的方法。等等。通过多态性,可以避免程序员在编写程序时进行对象类型的判断,直接交给系统判断,从而提高程序的开发效率、提高程序运行的稳定性,尤其在派生层次较多的时候更能体现多态性的优越性。

你可能感兴趣的:(Java,java,多态,面向对象编程)