封装继承多态

封装

该露的露,该藏得藏

我们的程序设计要求高内聚,低耦合高内聚就是类的内部数据操作细节自己完成,不允许外部干涉,低耦合就是仅暴露少量的方法给外部使用

封装(数据的隐藏)

通常,应禁止访问一个对象中数据的实际表示,而应通过操作接口来访问,这成为信息隐藏

属性私有,get/set

封装的意义:
  • 提高程序的安全性保护数据
  • 隐藏代码的细节实现
  • 统一接口
  • 增加可维护性

继承

继承的本质是对某一类的抽象,从而实现对现实世界更好的建模

继承的好处:

1.提高了代码的复用性,父类定义的内容,子类可以直接拿过来用就可以了,不用代码上反复重复定义了
2.便于代码的扩展
3.为了以后多态的使用。是多态的前提。

extands的意思是”扩展“,子类是父类的扩展

java中类只有单继承,没有多继承

父类private修饰的内容,子类实际上也继承,只是因为封装的特性阻碍了直接调用,但是提供了间接调用的方式,可以间接调用

同一个类同一个包子类所有类
private*
default**
protected***
public****

重写:
发生在子类和父类中,当子类对父类提供的方法不满意的时候,要对父类的方法进行重写。

子类的方法名字和父类必须一致,参数列表(个数,类型,顺序)也要和父类一致。

【5】重载和重写的区别:
重载:在同一个类中,当方法名相同,形参列表不同的时候 多个方法构成了重载
重写:在不同的类中,子类对父类提供的方法不满意的时候,要对父类的方法进行重写。

重载与重写的区别

多态

什么是多态:

多态就是多种状态:同一个行为,不同的子类表现出来不同的形态。
多态指的就是同一个方法调用,然后由于对象不同会产生不同的行为。

多态的好处:

为了提高代码的扩展性,符合面向对象的设计原则:开闭原则。
开闭原则:指的就是扩展是 开放的,修改是关闭的。
注意:

1.多态可以提高扩展性,但是扩展性没有达到最好,以后我们会学习 反射

2.多态是方法的重写,没有属性的重写

多态的要素:

一,继承: Cat extends Animal ,Pig extends Animal, Dog extends Animal
二,重写:子类对父类的方法shout()重写
三, 父类引用指向子类对象:(只要子类没有重写父类,就调用父类的,如果子类重写了父类就调用子类的)

Pig p = new Pig();
Animal an = p;
public void play(Animal an){//Animal an = an = new Pig();
        an.shout();
    }

上面的代码,也是多态的一种非常常见的应用场合:父类当方法的形参,然后传入的是具体的子类的对象,
然后调用同一个方法,根据传入的子类的不同展现出来的效果也不同,构成了多态。

super注意点:

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或者构造器中
  3. super和this不能同时调用构造器

this:

代表对象不同:this本身调用者这个对象;super代表父类对象的应用

前提:this没有继承也能使用;super只能在继承条件才可以使用

构造方法:this();本类的构造

​ super();父类的构造

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值