面向对象的三大特性

今天我们来讲讲面向对象的三大特性


封装

每个对象都包含它能进行操作所需要的所有信息,就叫封装,顾名思义对象不必依赖其他对象来完成自己的操作。

三大特性,那特性当然有其独特的地方,那封装的特性是什么呢?

第一,良好的封装能减少耦合性

第二,类内部的实现可以自由地修改

第三,类具有清晰的对外接口


就比如我们的房子是一个类的实例,室内的装饰与摆设都在室内,如果没有墙的阻挡,那么你的一举一动就会被别人一览无余,所以封装就相当于四面墙。不过没有一间房没有门窗,那么你也不会看到外面的风景,没有阳光你也不会看到屋内精美的装饰,所以封装也会有“门窗”,封装的门窗就是暴露在外的属性和方法,专门供其他对象调用。


继承

首先说说继承的特点:
第一,子类拥有父类非private的属性和功能;
第二,子类具有自己的属性和功能;
第三,子类还可以以自己的方式实现父类的功能。

总结起来就是说对象的继承代表了一种‘is-a’的关系,如果两个对象A和B,可以描述为‘B是A’,则表明B可以继承A。

是不是有点云里雾里,我们再来举个例子,‘猫是哺乳动物’,就说明猫和哺乳动物存在继承和被继承的关系,但是不能说‘哺乳动物是猫’,因为猫除了拥有哺乳动物的特征外,还拥有自己的独特性(爬树,抓老鼠)。

多态

多态表示不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。

多态的特点:
第一,子类以父类的身份出现;
第二,子类在工作时以自己的方式来实现;
第三,子类以父类身份出现时,子类特有的属性和方法不可以使用。

就比如说儿子代替父亲上台表演,化妆后就是以父亲身份出现了,儿子模仿得再好那也是模仿,儿子只能用自己理解的表现方式去模仿父亲的作品。虽然儿子经过多年学习,可能已经有自己的绝活,但代替父亲表演是不能表现出来的,不然就不是父亲了。所以子类的属性和方法是不可以在多态出现。
总结起来就是说对象的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值