加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

C# 之面向对象基础概括

发布时间:2021-11-22 09:20:12 所属栏目:PHP教程 来源:互联网
导读:学完C#视频后,对面向对象这个概念有了更深的体会。 那么什么是面向对象呢,什么样的程序是面向对象的设计呢,要明白这些首先要了解面向对象的三大特性:封装、继承、多肽。 总结图: 一:封装 是把客观事物封装成抽象的类 如:Cat类 class Cat //定义Cat类

学完C#视频后,对面向对象这个概念有了更深的体会。
 
那么什么是面向对象呢,什么样的程序是面向对象的设计呢,要明白这些首先要了解面向对象的三大特性:封装、继承、多肽。
 
总结图:
 
一:封装
 
是把客观事物封装成抽象的类
 
如:Cat类
 
        class Cat    //定义Cat类
        {
            private string name;        //声明Cat类的私有字符串变量, 是内部字段
         
 
            public Cat()                //构造方法
            {
                this.name = " ";
            }
            public Cat(string name)    //将构造方法重载
            {
                this.name = name;
            }
 
            public string Shout()      //Shout 猫叫方法
            {
              return "喵";
 
            }
        }
 
猫的属性name和Shout()的方法,都在Cat这个类中。
 
表面上看,Cat 类用 { }将它的属性和方法括在了一起,其实是对象进行封装。就好比我们常用的笔记本电脑,将很多零件封装在了内部,我们用电脑的时候,只需要按一下开关就可以拉,不用再管他们内部的操作。
 
二:继承
 
是类间的关系,被继承的类是基类,继承的类为派生类。
 
在C#中继承的关键符号是 “:”,如Cat 类继承Animal 类
 
      class Cat : Animal  //Cat 类继承Animal 类
        {
            public Cat()
                : base() //子构造方法需要调用父类同样的构造方法用base关键字
            { }
            public Cat(string name)
                : base(name)
            { }
 
使用继承将子类公共部分放到父类,不仅可以减少代码重复,而且修改方便。
 
三:多肽
 
多肽表示不同的对象有相同的动作,但是通过他们自己的实现代码执行
 
多肽实现:1,将所要实现的方法定义成父类中的虚方法;2,子类使用override实现
 
具体如下:
 
     class Animal
    {
        public virtual string Shout()  //定义了一个Shout的虚方法,可以子类被重写
        {
          return "";
        }
 
    }
 
    class Cat : Animal                //Cat 类继承Animal
    {
        public override string Shout()//对父类中的虚方法重写,得到自己的Shout方法
        {
          return "喵";
        }
    }
 
  class Dog : Animal
  {
      public override string Shout()
      {
        return "旺";
      }
  }
 
总结:
 
1,属性是封装对象的数据,方法是对象的行为,在代码中,属性后面不带括号,方法带括号。
 
2,判断两个类间是不是继承关系,就判断满不满足“什么什么是什么”,如“狗是动物”。
 
3,抽象类一定是用来继承的,且实例化没有意义。
 
4,重载是两个或者多个构造函数,重写是实现父类中的虚方法(virtual /override)。
 
5,在基类中定义的虚方法有方法体,实现的时候是重写,有选择的,而抽象方法没有方法体,必须别子类重写。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读