【C#】-面向对象三大特征

一、封装

世界上任何一个东西都可以看作一个对象,每个对象都包含它能进行操作所需要的所有信息,对象不必依赖其他对象来完成自己的操作,这个特性就称为封装

简单理解,封装就是一间房子经由钢筋,水泥,砖块,瓷砖等等混合而成,不需任何外部添加,屋子本身就可遮风挡雨。这有什么好处呢,好处就是,屋子可以作为我们长久的住所,风吹日晒时,屋子可以为我们遮风蔽日,我们无需知道屋子如何而来,它是如何实现遮风蔽日的,只需知道它为我们满足了我们需要,为我们提供了方便。

正如上边提到的屋子为我们提供了方便,封装在编程中的作用也正是隐藏实现细节,使代码模块化,方便编程,便于优化,减少错误。


二、继承

对象的继承代表一种‘is-a’的关系,如果两个对象A和B,可以描述为‘B是A’,则表明B可以继承A。例如猫是哺乳动物,就说明猫与哺乳动物之间是继承与被继承的关系。

通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“父类”,“基类”或“超类”。继承的过程就是从一般到特殊的过程。

如果子类继承于父类,子类除了拥有父类非private的属性和功能外,子类还具有自己的属性和功能,即子类可以扩展父类没有的属性和功能,另外子类还可以以自己的方式实现父类的功能(方法重写。)

简单理解,还以屋子为例,每个屋子都有一些共同的特征,比如:屋子基本都有屋顶,都有四壁,都有门窗,可以遮风避雨,这是共同的特征。现在我们要声明很多间屋子,每间屋子都有这个特征,那我们就要写很多重复的代码。但是根据继承,我们可以先建一屋子的父类,这个父类不代表一个具体的屋子,只是一个拥有这些特征的虚拟的存在。然后我们实例化一个具体的屋子的时候,只需要继承这个虚拟的屋子,那么这间实例化的屋子就拥有了屋子的所有共同特征。这样,我们就省了很多重复的代码。

继承的优点就是使得多有子类公共的部分放在了父类,使得代码得到了共享且避免了重复,节省了代码,另外还有助于实现多态的功能,还有其他功能需要慢慢探索。


三、多态

有多态之前必须要有继承,只有多个类同时继承了同一个类,才有多态这样的说法。

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

为了使子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚拟的,这是通过在该成员的返回类型前添加virtual关键字来实现。子类可以选择使用override关键字,将父类实现替换为它自己的实现,这就方法重写Override,或者叫做方法覆写。

简单理解,还以屋子为例,屋子可以住人,在虚拟的屋子中我们写好“住人”这个方法,但不同的屋子,人们居住的方式不同,有用床的,有用火炕的等等。同样一个方法“住人”,不同的屋子有不同的居住方式,这个就是多态,多态有助于程序的灵活性。


四、小结

读书不是读一遍就完事的事情,学习也不是一遍的事情,重复学习,可以让我们明白许多之前不清楚的地方。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值