金沙国际官网_金沙国际平台登录

因为这个金沙国际官网_金沙国际平台登录网站与很多的大型澳门赌场都有合作,金沙国际官网_金沙国际平台登录尽职尽责,高效执行,保持好奇心,不断学习,追求卓越,点击进入金沙国际官网_金沙国际平台登录马上体验吧,所以现在也正式地开始了营业。

您的位置:金沙国际官网 > 编程 > 细说C#继承

细说C#继承

发布时间:2019-11-01 16:28编辑:编程浏览(147)

    简介

    DotNet菜园
    占个位置
    图片 1

    C#中$的用法:是为了替代string.format();原先赋值需要占位符和变量,当需要拼接多个变量会造成语句过长等不易理解问题,$""是为了替代string.format(),可以把字符串中的C#变量{}包含起来达到识别C#变量的目的$"{id}";也支持表达式,使用$"{(你的表达式)}"

    继承(封装、多态)是面向对象编程三大特性之一,继承的思想就是摈弃代码的冗余,实现更好的重用性。

     var k = "a";  
     var a0 = "User";  
     var a1 = "Id";  
     var a2 = 5;  
     var ccc = string.Format("select * from {0} where {1} = {2}", a0, a1, a2);  
     var ccb = $"select * from {a0} where {a1}={a2}";  
    

    继承从字面上理解,无外乎让人想到某人继承某人的某些东西,一个给一个拿。这个语义在生活中,就像

     

    家族继承财产,爷爷将财产继承给儿女,儿女在将财产继承给子孙,有些东西可以继承有些的东西只继承给

    当然也支持string.format()里面的格式,如:

    某人。映射到编程当中,其思想也大致如此。

    var k = "a";  
    var k4 = $"{k,5}";  
    var k3 = string.Format("{0,5}", k);  
    
    var k2 = DateTime.Now;  
    var c = $"{k2:yyyy}";  
    c = string.Format("{0:yyyy}", k2);  
    

     

     通过示例引出继承的作用

     

    在代码中定义个三个类:Cat猫、Dog狗、Cattle牛。

    图片 2

    从类图上可以看出红色标识区域,三个类的定义出现了大量的冗余(字段、属性、方法),那么在编写代码时就会出现大量的重复代码。

    试想一下,随着业务功能的扩展,可能会出现更多类,那么冗余(重复的代码)会更多。比如出现同样会造成冗余的类:

    Pig猪、Panda熊猫、Sheep羊......等等。这些类同样会有相同的特征:名称、性别、年龄、奔跑(字段、属性、方法)。


     如何解决此类冗余问题 —— 使用继承

    继承的思想:

    当我们定义了多个类,这多个类都存在重复的成员(共性)。我们可以将这些重复的成员单独的提取封装到一个类中,作为这些具有相同特征类的父类。

    将此思想作用于上述的三个类

    提取共性:可以直观看出重复的具有共性的项目有:1.字段和属性(年龄、姓名、性别)、2.方法(奔跑)。

    封装到一个类:如何定义这个类?Cat猫、Dog狗、Cattle牛有明显共同的特性,就是他们都是动物,故可以抽象定义一个Animal动物类。

    图片 3

     

    如何在代码中实现继承

    图片 4

        class Animal
        {
            private string name;
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
    
            private string gender;
            public string Gender
            {
                get { return gender; }
                set { gender = value; }
            }
    
            private int age;
            public int Age
            {
                get { return age; }
                set { age = value; }
            }
    
            public void Run()
            {
                Console.WriteLine("奔跑。。。");
            }
    
        }
    
        class Cat:Animal
        {   
            public void CatchMouse()
            {
                Console.WriteLine("抓老鼠。。。");
            }
        }
    
        class Dog:Animal
        {
            public void GuardHouse()
            {
                Console.WriteLine("看家护院。。。");
            }
        }
    
        class Cattle:Animal
        {
            public void Plowland()
            {
                Console.WriteLine("耕田。。。");
            }
        }
    

    通过一个简单的  :(冒号)实现了继承关系。

    实现继承后产生了两个角色:1.子类(派生类)、2.父类(基类)

    代码中子类删除父类提取的重复性成员。

     

    实现继承后的关系如下图:

    图片 5

    实现继承后每个子类仅保留了自己特有的特性,大大减少了冗余。

     

    本文由金沙国际官网发布于编程,转载请注明出处:细说C#继承

    关键词: