java 封装,继承、多态

封装

 

封装,封装的目的就是“互不影响”,隐藏细节,对使用者而言是个黑盒子,安全可复用,不需要关注细节,直接调用方法访问。

 

只隐藏对象的属性和实现细节,仅对外提供公共访问方式

 

好处:将变化隔离、便于使用、提高复用性、提高安全性

原则:将不需要对外提供的内容隐藏起来;把属性隐藏,提供公共方法对其访问

 

 

---------------------------------------------------------------------------------------------------------------

继承+多态:继承和多态必须一起说。一旦割裂,就说明理解上已经误入歧途了。

 

继承

继承子类继承父类,主要实现重用代码,节省开发时间,只可以单继承,多继承需要用到接口。

 

概念:继承表现的是特殊与一般的关系,子类继承父类,可以具有父类不具有的属性和方法。(子类不能继承父类中用private修饰的变量和方法。)

我们需要将某些事物尽可能地对这个世界隐藏,但是仍然允许子类的成员来访问它们。这个时候就需要使用到protected。

继承来源于现实世界,一个最简单的例子就是孩子会具有父母的一些特征,即每个孩子都会继承父亲或者母亲的某些特征,当然这只是最基本的继承关系,现实世界中还存在着更复杂的继承。继承机制实现了代码的复用,多个类公用的代码部分可以只在一个类中提供,而其他类只需要继承这个类即可。

 

在JAVA不支持多继承的,实际上接口起到了类似多继承的作用,一个类只能继承另一个类(或抽象类)但可以实现多个接口。打个比方,“张三”,他是一个“人”,因此他继承了“人”;与此同时,他是一个“司机”,他的平时行为还有“开车”,很显然,这并不能从“人”这个类里继承下来。怎么办?JAVA里只支持单继承,这个时候,接口就起到了作用,它定义了“司机”这个接口,“张三”实现了它,因此,他会开车了。

 

 

 

---------------------------------------------------------------------------------------------------------------

多态

继承的基础上,子类对父类的一些方法重新定义,调用这些方法就是调用子类的方法。父类引用指向子类对象

 

概念:直白些就是 相同的事物,调用相同的方法,参数也相同时,但表现的行为却不同。

实现多态有三个必要条件:继承、重写、向上转型。

继承:在多态中必须存在有继承关系的子类和父类。

重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。

父类引用指向子类对象:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。在上面例子中就是 Person xg =new XiaoGuo(); 父类引用指向子类对象

只有满足了上述三个条件,我们才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值