当前位置: 首页 > news >正文

瑞安微信网站东莞公司网站设计

瑞安微信网站,东莞公司网站设计,做问答营销的网站有哪些,网页游戏网站打不开今天我们来聊一聊继承,说实话今天也是我第一次接触。 继承的概念是什么呢?就是一个类可以继承另一个类的属性和方法(成员) 继承是面向对象编程中的一个非常重要的特性。 好了,废话不多说,下面切入正题&a…

今天我们来聊一聊继承,说实话今天也是我第一次接触。

继承的概念是什么呢?就是一个类可以继承另一个类的属性和方法(成员)

继承是面向对象编程中的一个非常重要的特性。

好了,废话不多说,下面切入正题:

1.首先我们定义一个子类,给它创建两个构造:一个无参构造和一个有参构造

  定义一个枚举类

在定义的子类中它有自己独有的属性:

 

在定义的父类中的属性和构造:

 

在Main方法中:

同时要注意,在调用子类的带参构造时,我们要想到调用子类构造的时候,没有使用base关键字调用父类的指定的构造,默认调用父类的无参构造.

补充一下:

   01.base代表父类对象,如果base():调用父类的构造函数

   02.base代表的是方法调用,是不需要参数类型的

  03.base(传参顺序和父类构造一致,变量名和子类构造参数一致)

2.在这里补充一点访问修饰符

我们所知道的:public  private  protected

下面我画一个图来简单的描述一下(√表示可以,×表示不可以)

                  当前类     子类     其他类(Program)
   private         √          ×        ×
   protected     √          √        ×
   public           √          √        √

总结:我们可以清晰的明白三种访问修饰符对类成员的访问限制强度:private>protected>public

 3.new 子类底层原理图

我简单的用一个图来描述一下:

用文字描述:

   1.走到子类构造,不进入构造体
   2.转向父类,进入父类构造体执行
   3.转回子类构造,执行子类构造体
   4.转到Main,内存中构建出子类对象

4.继承还具有两大特性这个我们也不要忘记了,就是单根性和传递性

  单根性指的就是一个子类只有一个父类

  传递性就是只要跟父类有继承关系,就可以使用父类的属性和方法

接下来我们讲一讲多态

1.多态是什么呢?字面上的意思就是多种形态

用专业一点的话来说就是指同一个操作作用于不同的对象时,可以有不同的解释,产生不同的执行效果。

我们所接触的方法重载也是多态的一种方式。

如何实现多态呢?不要急下面我来解说

(1)实现方法的重写

      在父类中定义的方法,用virtual关键字来定义为虚方法

     在子类中定义自己的方法,用override关键字来修饰,实现对父类的方法的重写

(2)定义父类变量,用子类变量初始化父类变量

是不是觉得抽象,其实我刚开始学习时也是一样的,下面来一个小案例:

//创建一个Person父类

 public class Person
    {
       public virtual void SayHello()
       {

            //父类特有的方法
           Console.WriteLine("父类打招呼方法");
       }
    }

//创建一个Korea子类

public class Korea:Person  //在这里要注意它继承于Person类
    {
       public override void SayHello()
       {
           Console.WriteLine("金喜善打招呼方法");
       }
    }

//创建一个Chinese类

public class Chinese:Person //在这里要注意它继承于Person类

    {
       public override void SayHello()
       {
           Console.WriteLine("你好!");
       }
    }

//创建一个American类

public class American:Person   //在这里要注意它继承于Person类
    {
        public override void SayHello()
        {
            Console.WriteLine("Hello");
        }
    }

 前面我们也学过泛型了下面我们就用泛型来存储

            List<Person> list=new List<Person>();
            Chinese chinese=new Chinese();
            American usa=new American();
            Korea korea=new Korea();

            list.Add(chinese);
            list.Add(usa);
            list.Add(korea);

下面我们可以用foreach来遍历

方式一:

           foreach (Person person in list)
            {
               person.SayHello();
            }

方式二:

           foreach (Person person in list)
            {

               //方式二:不使用统一调用
                if (person is Chinese)
                {
                   Chinese chinese= person as Chinese;
                    chinese.SayHello();
                }

               if (person is Korea)
                {
                    Korea chinese= person as  Korea;
                    korea.SayHello();
                }

               if (person is  American)
                {
                    American chinese= person as  American;
                     american.SayHello();
                }

            }

下面我再穿插个示例:

http://www.yayakq.cn/news/391911/

相关文章:

  • 网站建设商务代表工作总结珠宝首饰网站建设策划书
  • 网站如何做快捷支付做网站枣庄
  • 长乐区建设局网站网页工具在哪里
  • 查询邮箱注册网站百度搜索引擎的网址是
  • 淮北公司做网站青岛设计谷科技有限公司
  • 重庆网站推wordpress搭建企业网站思路
  • 江津网站建设效果好不好深圳哪里有做网站的公司
  • 济南建设网站的公司哪家好wordpress建站属于前端
  • 网站模板建设教程小红书指数
  • 平江区建设局网站个人网站怎么做才能值钱
  • 做海报需要用到什么网站素材wordpress找不到jquery
  • 四川建设厅电话网站免费推广网站推荐
  • 合肥建设网站哪个好织梦网站栏目调用
  • 富民县住房和城乡规划建设局网站个人社保缴费怎么网上缴费
  • 做网站包含什么职位万网 公司网站链接
  • 网站设计咨询seo初学教程
  • 做网站后端的全部步骤深圳网络营销收费标准
  • 网站建设大赛提供wordpress空间
  • 济南电子商务网站建设成都高端室内设计公司
  • 登陆网站密码不保存怎么做套别人代码做网站
  • 做网站前期预算网络教学平台长沙理工
  • 网站建设服务合同缴纳印花税吗网络销售员每天做什么
  • 局域网下怎么访问自己做的网站广告公司简介
  • 汕头市研发网站建设免费网站用官微建站
  • 网站 的版面结构建筑设计网站app
  • 软件网站的服务器经营网站建设
  • 好用的网站苏州网页模板建站
  • 个人备案做公司网站seo静态页面生成系统
  • 企业专业网站建设.net商城网站开发
  • 超炫酷的网站咸阳做网站开发公司哪家好