`
hejiajunsh
  • 浏览: 414171 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

面向对象思维-封装、继承、多态

阅读更多

 

封装


任何的对象实例都是尽可能的去封装,减少暴露,它的实现细节对你是透明的。
封装就是我们将程序的设计和使用分开的一种手段,也是方便我们编程者的工具。

我们把对同一种数据的操作和处理,连同数据封装成一个类,并向外提供了使用的方法;

这样既方便了我们的使用,有能够保证我们的设计的安全性。

在封装中,我们会根据数据的不同来初始化这些数据,即构造方法。在封装中访问控制就是对安全性的保障,对于我们不想让其他人看到的就可以用private在控制访问。

 

继承


概念上的继承关系。就像我们生活中的财产继承类似,你从父母那继承得到了多少钱,你可以延续父母的运营方式,也可以有自己新的运营方式来使用这些钱。
继承就是:根据一个已知的类来创建一个新的类,而这个类自动拥有被继承类的全部成员,被继承类称为父类,产生的新类叫子类。
 
继承的原则:
1.  子类继承父类的成员变量
2.  子类继承父类除构造方法以外的成员方法
3.  子类不能继承父类的构造方法,但是可以调用父类的构造方法super()。
 
继承的作用:
继承在父类和子类之间建立了联系,子类对象即是父类对象,子类自动拥有父类的全部成员,包括成员变量和成员方法,是父类的传承和延续;
子类不能删除但可以更改从父类继承来的成员,是其成员适应新的需求;
子类也可以增加自己的成员,使类的功能得以扩充。
 
Java中中允许类之间的单继承,父类与子类是1对多是关系。
在软件中,继承是实现复用的重要措施,增强了软件的可扩充能力。
 
子类对父类的访问权限:
1. 子类不能访问父类的私有成员(private)。
2. 子类能够访问父类的共有成员和保护成员。
3. 子类对父类中缺省成员的访问,以包为界限。
 

多态


Java引用变量有两种类型:编译期类型和运行期类型
  • 编译期类型:由声明该变量时使用的类型决定
  • 运行期类型:由实际赋给该变量的对象决定
若编译期类型与运行期类型不一致,就会出现“多态”现象,这种在编译器表现为一种类型运行期确定为其他类型的现象称之为“动态绑定”,也就是“多态”。
例如:
Person person = new Student();  
person.sayHello(); // 看似调用的Person中的sayHello()方法,实际调用的却是Student的sayHello()方法。 
super关键字:
在Java中使用super来引用当前对象的父类成员
  • super可以引用父类中定义的属性
  • super可以引用父类中定义的方法
  • super可以在子类构造器中调用其父类构造器

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics