浅谈对OOP的认识

1 篇文章 0 订阅
0 篇文章 0 订阅

OPP(Object Oriented Programming):面对对象程序设计
OPP的核心思想:封装、继承、多态

封装:管理软件复杂程度的一种重要方式, 封装就是一个简单有效让代码变得简单有效的方式.
角色主要有两个: 类的设计者(类的实现者) 类的使用者(类的调用者)
封装再Java中的体现方式,主要通过 访问权限控制 来完成.
public : 修饰的属性或者方法可以被类外部的代码使用
private:修饰的属性或者方法,只能在类内部使用不需要用户关注的细节就被隐藏起来了
[default] : 默认访问权限控制,一个属性或者方法前面,啥都不写。包级权限控制。 一个属性/方法是default级别,相同包里面的类可以访问,其他包中的类就无法访问
protected:修饰的属性或者方法,可以被同包中的其他类使用,也能被不同包中的 子类使用(继承)
严格程度排序: private > default > protected > public
继承:子类继承了父类所有的成员方法和属性,并且可以拥有自己特性。 存在意义:降低代码的重复,达到更好的代码重用的效果
多态在Java中语法上的体现
1. 向上转型 使用父类引用指向子类对象

三种典型的写法:
a)直接赋值:最直观
b)作为方法参数:形参是父类引用,实参是子类对象
c)作为方法返回值
2. 动态绑定
静态绑定:如果在类中创建一个普通方法,然后再去调用,调用的时候,编译器早在编译阶段就知道调用的方法是那个(执行那个方法的二进制指令)
动态绑定:如果在父类和子类中存在同名方法的时候,再去调用,此时编译器就不能在编译阶段知道调用那个方法,而需要在运行时阶段猜知道调用那个方法(翻译成人话:调用一个方法的时候,不能看引用是啥类型,得看引用指向啥类型得对象)
动态绑定简而言之:调用方法得时候要关注当前引用的实际类型
子类对象构造的时候,会先调用父类的构造方法,构造父类对象。如果父类对象有默认构造方法(无参数版本),子类的构造方法就没有额外的限制。如果父类对象有特定的构造方法,子类的构造方法就必须显示调用父类的对应构造方法
3. 方法重写:子类和父类具有相同名字,相同参数的方法。调用这个方法的时候,最终执行父类版本还是子类版本,取决于引用对象的实际类型

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值