OOP基础知识回顾

OOP:面向对象编程(Object-Oriented Programming),作为一个职业搬砖的如果听到同行说OOP我们还不知所以然的话那就实在是打脸了。

特别说明一下,这篇文章只是我在回顾OOP基础过程中的一个提纲或者说对某些特定内容的一些个人理解。

【OOP】

对象(示例):时间万物均可称为对象,具体的一只小狗,一棵大树我们能够看到的或者感知到的实际物体。

类:在对象的基础上,根据对象的一些属性(姓名,年龄,升高,血型),行为(叫,跑,唱,跳)将其提取出来用编程中的代码来实现,我们如何将生活中实际的对象转化为我们的代码,就是通过这些属性,方法等来操作。然后对于这些属性我们进行一个提炼形成类。我们通过对类的操作来代表实际生活中实物的操作。(对提炼出来的类,“new”就可以理解为操作某一个具体的对象)

类:

  • 关键字:Class
  • 字段:私有
  • 属性:提供窗口用于内外的沟通交流
  • 方法:对象特有的一些动作(吃东西,发出叫声啊,上楼梯,打人等等)
  • 访问限制:公有(public),私有(private),只允许子类(protected)

封装:

    优点:对于某类都会做的事/动作,提炼出来,时期不需要受其它对象的影响。(准确的说比如:提炼方法,将对象划分为类这些都是在做封装)

  • 低耦合
  • 便于内部修改
  • 对外提供了非常方便的接口

继承:继承是在类的基础上,对于不同类之间还可以根据某些规则可以提炼为一类,将这些规则在形成一个类,通过一个一层已一层从小到大的继承关系来更好操作我们的对象。比如:将狗小黑,小龙对属性的提炼可以提取出一个“狗”类,将猫小白,小黄可以提炼出一个“猫”类,对“狗”类和“猫”类我们再次提炼成“哺乳动物类”,我们将猫和狗的哺乳动物的属性放到哺乳动物类,这样在创建猫类和狗类的时候就不需要再额外的写这些属性了。(继承本质就是将小类继承大类)

  • 高耦合(改一个类可能会对其它继承的类产生影响)
  • 子类可以拥有父类所有的非private属性/方法
  • 子类可以额外扩展属于自己特有的属性/方法
  • 子类可以扩展父类的方法(虚方法,重写)

多态:不同的对象做相同的动作(方法)但效果不一样(发出叫声 汪发出叫声 喵)。

虚方法:多数用于继承的时候,子类扩展父类的内容(扩展父类不是指子类特有的属性/方法)

抽象类:在类封装的过程中越往搞提炼的类,如果不能实例化出具体的对象,那么就要考虑将这个类创建成抽象类

  • 不能实例化
  • 方法没有实体(没有实际内容)

接口:用于解决,多个不同的对象需要操作同一个方法,但这多个对象不方便划分为一个类或通过类的继承(高耦合)来实现这个方法的情况下,使用接口

  • 类继承了接口必须要实现接口里的方法

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值