面向对象的三大基本特征:封装、继承、多态

面向对象:面向对象就是将事物对象化,包括其属性和行为,更加贴近实际生活思想。
封装
将客观的事物封装成抽象类,其数据和方法只让可信类和对象操作,对不可信的隐藏。(其思路是隐藏代码的实现细节,又能提供访问方式)

目的:简化代码、偷懒、隐藏核心代码。

优点:便于使用、提高重用性、提高安全性、变化隔离。
缺点:因变量用private修饰或封装进方法内,所以不能被直接访问,增加了访问难度。
(例如实体类的应用。)

继承
一个类只能单继承(接口可以多继承),它有父类非private的所有功能,同时有自己的属性和方法,可以在父类方法的原基础上进行扩展。
类与类之前可以多重集成(例如:A extends B B extends C) 需要访问父类成员时用super
作用:有利于代码的维护、减少代码的重复
(例如:创建时间和更新时间等信息为常用属性时可单独定义实体类,其他类只需继承即可)

多态
多态的必要条件:

  1. 继承
  2. 重写(子类重写父类同名的方法)
  3. 向上转型(父类引用指向子类的对象)

当子类对象调用重新方法时,用的是子类的方法。要调用父类被重写的方法时要使用super。
作用:消除了类之间的耦合,使代码更简洁,利于扩展。

向上转型(安全):
Children extends Father(当子类Children继承父类father)
Father f = new Children() 此为向上转型;
Children c= (Children) f; 此为向下转型。因为此时f还指向一个Children对象,所以向下转型成功,替换原则。
若 Father f = new Father(),此时Children c= (Children) f向下转型失败,因为子类Children不能指向Father
向下转型,将风险转移到了运行时,不安全,切已不属于多态。
多态实际运用:
(例如:父类是车(有车的基本属性轮子等信息),子类是卡车或轿车(有除基本信息的更详细的信息),当出现一堆车辆信息此时向上转型更方便一些)

重载:同名的方法,但参数必须不同,返回值等信息可相同也可不同,异常可增加,发生在同一类和子类中。
重写:同名的方法,参数和返回值等信息必须相同,异常抛出不能增加,但可减少。
注:构造方法不能重写,同一包下不能重写private和final的方法,不同包下只能重写pubulic和protected的非final的方法(final不能重写),static也不能重写但可以再次声明。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值