封装继承多态

本文深入探讨了面向对象编程的三大特性:封装、继承和多态。封装通过隐藏对象细节,提供简洁接口,增强代码的可维护性和扩展性。继承允许子类继承父类的属性和方法,减少代码重复,提高复用性。多态则为程序提供了更大的灵活性,通过父类引用操作子类对象,实现动态绑定。文章详细阐述了权限修饰符在封装中的作用,方法重写在继承中的应用,并解释了多态的实现条件及其优势。
摘要由CSDN通过智能技术生成

面向对象的 三大特征 封装继承多态

封装:

隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。就是封装性的设计思想。

javaBean, 通过对属性私有化,设置外部读取和修改的方法,内部细节对外隐藏,不需要了解内部是怎么操作实现的,只需要知道这个方法是干什么的就行了比如 有些 setNam方法 需要加入特殊字符,有些字段我要保存时是忽略大小写的,就需要通过set方法来操作;有些字段是不允许修改的,那么就只提供get方法,不在提供set方法,

体现出了 高内聚低耦合的编程思想

权限修饰符

java四种权限修饰符

本类

本包

不同包子类

所有类

Private

X

X

X

缺省

X

X

Protected

X

Public

封装:属性私有化,提供 公共的方法 进行设置和获取。

继承:

Java中有父类、子类的概念,类似生活中的父子关系,父类中的一些属性和方法可以被子类继承下来使用,不再需要重复定义。

  1. 其中,多个类可以称为

子类,也叫派生类;多个类抽取出来的这个类称为父类、超类(superclass)或者基类。

继承描述的是事物之间的所属关系,这种关系是:is-a 的关系。例如,图中猫属于动物,狗也属于动物。可见,父类更通用,子类更具体。我们通过继承,可以使多种事物之间形成一种关系体系。

  1. 继承的好处
    • 提高代码的复用性。
    • 提高代码的扩展性。
    • 类与类之间产生了关系,是学习多态的前提。

继承的格式

先有父类 再有再类,在声明子类 时候 确定 关系

通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下:

【修饰符】 class 父类 { ... } ​ 【修饰符】 class 子类 extends 父类 { ... } ​

方法重写(Override)

当子类继承了父类的某个方法之后,发现这个方法并不能满足子类的实际需求,那么可以通过方法重写,覆盖父类的方法。

1. 方法重写:

子类中定义与父类中相同的方法,一般方法体不同,用于改造并覆盖父类的方法。

方法重写的具体要求:

1.必须保证父子类之间重写方法的名称相同。

2必须保证父子类之间重写方法的参数列表也完全相同。

3.子类方法的返回值类型必须【小于等于】父类方法的返回值类型(小于其实就是是它的子类,例如:Cat< Animal)。注意:如果返回值类型是基本数据类型和void,那么必须是相同。

4.子类方法的权限必须【大于等于】父类方法的权限修饰符。

5.子类方法声明的异常不能比父类大。

注意:public > protected > 缺省 > private父类私有方法不能重写跨包的父类缺省的方法也不能重写

不属于重写的情况::

1.静态方法不能被重写,方法重写指的是实例方法重写,静态方法属于类的方法不能被重写,而是隐藏。

2.final修饰的方法不能被重写

3.父类私有的方法不能被重写。

多态 

多态的前提条件:  

1.继承

2.重写方法

3.父类引用指向子类对象

编译看左边,运行看右边。

开闭原则: 对修改关闭,对扩展开放。

应用:

1.参数传递

2.数组类型, 数组是父类类型,元素可以 是 子类任意类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值