13、面向对象的三大特征、五大原则

13、面向对象

13.1、面向对象的三大特征

1.封装

作用:提高代码的安全性
1、将属性(成员变量)私有化,并提供对外界的接口(get/set方法)。
2、用private修饰的属性和方法,只能在本类中使用。

2.继承

作用:提高代码的复用性,减少重复代码
1、子类可以继承父类非私有的属性和方法,不能继承构造方法和私有的属性和方法。
2、可以综合子类的共同特征来去提炼父亲的类。
3、子类在继承父类的各种属性和方法时,也可以有自己的属性和方法。
4、一个子类只能有一个父类,java只能单继承,不能多继承,因为多个类中的方法名相同,方法体不同,不知使用哪个。
5、一个类继承最顶端叫做基类或者超类,所有的超类叫做object 。
6、在继承关系中,如果父类没有无参数的构造方法,如何解决?

	1.子类中添加一个和父类构造方法参数列表相同的构造方法,通过super参数传递给父类的构造方法
	2.如果父类允许修改的时候,可以在父类中创建一个无参的构造方法

​ 7、在继承关系中,代码块的执行顺序:父静>子静>父构造代码块>父构造方法>子构造代码块>子构造方法

3.多态(重要)

​ 1.分类
​ 编译时多态:在编译过程中察觉的多态,重载,向上转型。
​ 运行时多态:在运行过程中察觉的多态,向下转型。
​ 2.向上转型、向下转型是在继承关系中,向下转型必须在向上转型的基之上。
​ 3.在继承关系中,父类的对象可以指向子类的实例,父类引用实体方法的时候,是调用子类重写以后的方法
​ 4.向上转型
​ 父类的引用指向子类的实体
​ 父类类名 对象名=new 子类类();
​ 优点:减少重复代码,提高代码的复用性
​ 缺点: 父类的引用无法调用子类特有的属性和方法
​ 解决方案:向下转型
​ 5.向下转型:
​ 子类对象的父类引用赋给子类
​ 子类类名 对象名=(子类类名)父类对象;

​ 6.instanceof 判断左边的对象是否属于右边的类 对象名 instanceof 类名(子类类名)
​ 7.匿名对象
​ new 类名()只有堆空间,没有栈空间,只能属于一次,为了节省代码。
在这里插入图片描述

13.2 面向对象的五大原则

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值