面向对象的三大特征

130 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情 >>

📖个人介绍

大家好我是:Zinksl

认真分享技术,记录学习点滴 如果分享对你有用请支持我哦🍺

点赞:👍 留言:✍收藏:⭐️ 个人格言: 想法落实的最佳时机就是现在!🏄


封装(encapsulation)隐藏实现细节,保证数据安全
继承(extends)提高代码的复用性、扩展性与可维护性也相应提高
多态(polymorphic)简化代码,提高代码可扩展性、可维护性

1 封装 🚩

封装的实现:

实现三部曲:
①私有化,属性
②提供公共的getXxx()方法
②提供公共的setXxx()方法

2 继承 🚩

2.1 继承的注意事项

(1). 子类继承所有父类的属性和方法,但是私有属性和方法不能在子类中直接访问需要借助公共方方法访问; (2). 子类在创建对象时必须调用父类的构造器完成父类初始化, (3). java是单继承机制,一个子类只能有一个直接父类;

2.2 继承的本质

是建立一种对应的查找关系

2.3 super的使用

(1). super是父类的一个引用能访问父类属性,但不能直接访问父类私有属性; (2). super的访问不限于直接父类,但是遵从就近原则;

3 多态 🚩

3.1 多态概念

(1). 方法或者对象有多种形态,是建立在在继承、封装之上的 (2). 属性的值看编译类型

3.2 动态绑定机制

(1). 当调用对象方法的时候,该对象会与该方法的运行类型绑定 (2).当调用对象属性时,没有动态绑定机制,哪里声明哪里使用

3.3 多态参数问题

(1).方法定义的时候,形式参数使用父类类型的参数,实参可以使用子类类型参数;

什么是多态?多态的具体体现有哪些?

多态值方法或对象具有多种形态,是OOP的第三大特征,是建立在封装与继承的基础之上的;

方法的多态,方法的重载、重写都体现了方法的多态

对象的多态,对象的编译类型和运行类型可以不一致;【方法看运行类型、属性看编译类型】

结语

大佬请留步在这里插入图片描述既然看到这了不如点个赞👍再走吧 本文目的在于分享技术以及在学习过程中个人记得需要注意的点,记录学习过程; 如果出现错误欢迎大家指正,如有意见或建议欢迎在评论区讨论