zoukankan      html  css  js  c++  java
  • C#学习基础,面向对象的三大特征

    学习C#编程,相信大家除了经常接触的是hello world之外,更多的是进一步的去熟悉这门语言的基本特征,以及有哪些概念是我们必要掌握了解的,相信大家都是会知道面向对象的三大特性分别是:封装,继承,多态。但这三大特性分别是什么意思呢?专业上的理解是比较难的,我们只需要用自己的话来理解一下,是更加容易理解,想要学习开发?还是从基础的学起。

    C#学习基础,面向对象的三大特征_C#基础_面向对象_软件研发_课课家

      一,封装:

      首先我们可以把世界上任何一个东西都看作为一个对象,在这里就以人为例,那么一个人就是一个对象。

      封装的意思是什么?

      可以这样的去理解封装就是这个人要完成一件事情,他所需要的任何工具都带在了自己的身上,所需要的技术也都装在了自己的脑子里了。不需要借助于别人的力量就能完成这一件事情。这样做的好处就是如果我要吩咐这个人去完成一件事情,并不需要知道它是怎么完成的,也不需要协助他去完成,只知道结果,它完成了,也就行了,至于它是先做什么,后做什么我们也不需要知道,这样是有利于他尽力的去完成这些事情。

      用书面的语言解释就是:

      每个对象都是包含它能进行操作所需要的所有信息,所以对象不必依赖其它的对象来完成自己的操作。

      二,继承:

      还是以人为例子,我们知道每个人都会有一些共同的特征,都要做一些相同的事情。比如:人都有一个脑袋,二只胳膊,二条脚,这是共同的特征吧。生活上都要吃饭,喝水,这是要做的相同的事情。若我们现在要声明很多个人,每个人都会有这些特征,这样就需要去写很多重复的代码?因此我们先建一个人的父类,这个父类不代表一个具体的人,它只是一个拥有人所有共同特性的虚拟的人。下次我们要实例化一个具体的人的时候,只需继承上面这个“虚拟的人”,他就拥有了人的所有共同特性。通过继承的方法重复的代码就不用写了。

      实际上继承的目的不仅仅是为了节省代码,它还有实现后面的多态的功能。一般的初学者只需要了解继承可以少写很多代码,在项目中可以不断的去学习。

      利用书面的一个解释如下:

      对象的继承代表一种"is-a"的关系,我们假如两个对象A和B,如果可以描述为"B就是A",那么则表示B可以继承自A。

      需要注意的是:

      如果A继承了B,那么A不仅拥有了B除私有的特性外的所有特性,A还可以拥有自己独特的特性。在上面的人的例子中,一个继承了“虚拟的人”,那么他除了有一个脑袋,二只胳膊,二条脚,要吃饭喝水外,他可能还会编程。因此编程就是他独特的特性了,并不是每个人都会编程的。

      三:什么是多态:

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

      说开了人,就用人的例子,在前面我们有说过人都要做“吃饭”这样一个相同的事情。“吃饭”这个事情,在类中的体现就是方法了。因为是人都是要做的,因此我们在“虚拟的人”中写好了这个方法之后,吃饭方法都不同,有用筷的也有用叉的,有要吃米饭的也有要吃面的。所以如果我们要描述不同人的吃饭的过程,就要把这个过程放到具体的子类中去了,同样的道理,子类都有不同的实现方式,这个意思就是多态了,多态有助于程序的灵活性。

      需要注意的是:子类中如果重写了父类的方法(多态),那么父类中的这个方法是不会再调用。

      编程语言概念性的东西还是需要在实践中多点去理解的,相信大家通过自己的话,来去理解面向对象的特征会简单许多,如果是看原文的专业介绍的话,理解起来还是有一点的困难的。

  • 相关阅读:
    Python-流程控制之if判断
    Python-流程控制之循环
    Python-基本运算符
    Python-基本运算符
    Python-数据类型的基本使用
    python2中与用户交互
    Python-内存管理
    vue 替换表格中的数据
    实现单例的三个方法
    django----框架介绍
  • 原文地址:https://www.cnblogs.com/zyjj/p/7146040.html
Copyright © 2011-2022 走看看