C#的继承_继承关系中的被继承人

C#的继承_继承关系中的被继承人继承详解:一.继承的概念:二.基类和派生类:三.继承的作用:四.继承的特点:五.举例说明:六.继承注意事项:一.继承的概念:继承:是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类/父类,这个新的类被称为派生类/子类。二.基类和派生类:基类/父类:也可以理解成生活中的父亲

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.继承的概念:

继承:是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类/父类,这个新的类被称为派生类/子类。

二. 基类和派生类:

基类/父类:也可以理解成生活中的父亲,自身所拥有的一些属性方法会被继承;
派生类/子类:也就是生活中的儿子,自己去继承了基类/父类的属性和方法,当然自身也会拥有自己的属性和方法。

三.继承的作用:

  1. 使程序的创建和维护变得很容易;
  2. 有利于代码的重用和节省时间;
  3. 编写时候可以更快的理解和应用;

四.继承的特点:

  1. 继承了基类/父类的属性和方法,子类可以继承父类的可继承属性、函数;
  2. 继承时并非完全继承,只有可继承的类成员才可以被继承,主要使用访问修饰符进行设置;
  3. 继承实质上是对象与对象之间的关系;
  4. C#继承只能实现单继承,每个类只能继承一个父类,一个父类可以拥有多个子类;
  5. 继承可以隔代继承,也就是子类下面还可以有子类;
  6. 不允许相互继承(循环继承);
  7. C#不允许多重继承,但是可以实现多重接口继承;

五.一般写法:

<访问修饰符符> class <基类>
{ 
   
 ...
}
class <派生类> : <基类>
{ 
   
 ...
}

六.举例说明:

基类/父类:

 class Animial
    { 
   
        public string name;
        public int age;
        public string  love;
        public void Fisft()
        { 
   
            Console.WriteLine("吃饭不是为了吃,关键是气氛搞起来!");
        }
        public void Second()
        { 
   
            Console.WriteLine("经常被自己的聪明所秀到!");
        }
    }

派生类/子类:

 class Dog:Animial
    { 
   
    }

调用此类的属性和方法:

 class Program
    { 
   
        static void Main(string[] args)
        { 
   
            Dog dog = new Dog();
            dog.name = "哈士奇";
            dog.age = 02;
            dog.love = "拆家,搞事情,瞪眼睛";
            Console.WriteLine("我的名字叫{0},我今年{1}岁啦,我的爱好是{2}", dog.name, dog.age, dog.love);
            Console.ReadLine();
            dog.Fisft();
            Console.ReadLine();
            dog.Second();
            Console.ReadLine();
        }
    }

运行结果:
在这里插入图片描述

七.继承注意事项:

如果父类构造函数有形参,则子类必须要手写构造函数,并且带有相同的形参(形参的个数类型一致即可,不用管顺序,参数的命名),然后在子类构造函数之后紧跟着写:base(),base括号中的参数代表给父类构造传递的参数,传递的参数顺序必须要和父类中的形参顺序一致,下一章我们会具体介绍base()的概念以及使用,传送门:base关键字的介绍

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195536.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • FIONREAD 判断 socket有多少数据可读[通俗易懂]

    FIONREAD 判断 socket有多少数据可读[通俗易懂]Ioctl(sockfd,FIONREAD,&npend); /*checkFIONREADsupport*/检查sockfd表示的文件描述符中有多少数据可以读取

  • SBC编码

    SBC编码SBC是一种低复杂度的编解码技术,压缩比率适中,支持16kHz,32kHz,44.1kHz和48kHz的采样率,也因此成为蓝牙高清语音的当然之选。对于16kHz的宽带语音而言,SBC能以64kbps数据速率对其进行4:1的压缩。但是,当SBC编码帧通过蓝牙传输时,它可能与底层蓝牙数据包不相匹配。因此,mSBC编解码技术被开发用于匹配SBC和蓝牙数据包,并于2011年5月被定义为Bluetoot

  • 集合框架——HashTable和HashMap的区别[通俗易懂]

    集合框架——HashTable和HashMap的区别[通俗易懂]继承类不同HashTable继承Dictionary类,HashMap继承AbstractMap类线程安全级别不同HashTable是线程安全的类,每个public方法都有Synchronized修饰,HashMap不是线程安全的是否允许null的要求不同HashTable:key不允许为null,value不允许为nullHashMap:key允许为null,value允许为n…

  • matlab的meshgrid函数详解

    matlab的meshgrid函数详解函数形式[C,R]=meshgrid(c,r)初步解释首先需要明确的是参数c,r都是行向量,该函数将行向量c,r指定的域变换为数组C,R,这2个数组能用来指示有2个变量的函数和三维的图。输出数组C的每一行都是行向量c,输出数组R的每一列都是行向量r。例如我们需要形成一个二维函数,其元素是由坐标变量x和y的值的平方和。也就是f(x,y)=x^2+y^2这样的形式…

  • 如何解压.bz2文件包

    如何解压.bz2文件包.bz2  解压1:bzip2-dFileName.bz2  解压2:bunzip2FileName.bz2  压缩:bzip2-zFileName  .tar.bz2  解压:tarjxvfFileName.tar.bz2或tar–bzipxvfFileName.tar.bz2  压缩:tarjcvfFileName.tar.bz2Dir…

  • http状态码详解

    http状态码详解

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号