继承,多态和封装【Java】【面向对象】

1.什么是面向对象

以实际生活的案例来举一个例子,比如说洗衣服。
如果是面向对象的编程方式,我们会拆分成人和洗衣机两个对象,再分析每一个对象,它需要做哪些事情。
人在其中需要做这三件事:

  • 打开洗衣机
  • 放衣服和洗衣液
  • 洗完衣服后拿出衣服。

洗衣机在其中只需要做一件事情:

  • 根据洗衣模式洗衣服

如果是面向过程的话,我们会将这个洗衣服任务拆解成一系列的步骤,每一个步骤就是一个函数。

  • 第一步,打开洗衣机;

  • 第二步,放衣服和洗衣液;

  • 第三步,选择洗衣模式,开始洗衣;

  • 第四步,等洗完,拿出衣服。

所以面向对象的思维方式,它更加注重事情有哪些参与者,有哪些对象,这些对象各自需要做些什么事情。将其拆解成一个个模块和对象,这样会更易于维护和拓展。

面向对象与面向过程的区别:

2.面向对象的三大特征

2.1封装性:

在这里插入图片描述

2.2继承性和多态性:

关于类继承的几点说明:

  • 子类继承父类中非私有的成员变量和成员方法
  • Java不支持多继承,但支持多层继承
  • 子类中可以定义与父类中的名字,参数列表,返回值类型都相同的方法—重写(覆盖)
  • 注意:private方法不能被覆盖;
    父类中static方法不能被覆盖,但可以被继承
  • 在子类中可以使用super关键字来访问父类中的成员变量 格式是:super.成员变量名,调用父类中被覆盖的方法 格式是:super.方法名,以及调用父类的构造方法 格式是:super.( ) —>这个是调用父类的无参构造方法)
  • this("Tom",123)是调用本类的其他构造方法
  • 先调用父类的构造函数,再调用子类的构造方法

多态性(:

  • 指由继承而产生的相关的不同的类
  • 多态分为行为多态对象多态

举个例子:
我们说Person类是Student类和Teacher类,用Person类创建Student类和Teacher类的对象,就有如下代码:

	public class Test{
			public static void main(String[] args){
				Person s = new Student();  //对象多态,编译看等号左边,运行看等号右边
				s.run();  //行为多态,用对象调用成员方法编译和运行都看左边,
				          //即运行结果是父类中的成员方法所输出的值
				Person t = new Teacher();  //对象多态
				t.run();  //行为多态
			

根据对象的实际类型调用run( )方法,这就是多态

2.3继承性和多态性的举例:

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值