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关键字的介绍

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mfcgetdlgitem_mfc queue

    mfcgetdlgitem_mfc queueGetDlgItem 根据一个对话窗或一个控件的ID,返回一个指向这个对话窗或控件的对象的指针

    2025年6月11日
    3
  • xml 中 sql 模糊查询 like

    xml 中 sql 模糊查询 liket.namelikeCONCAT(’%’,#{name},’%’)字段名likeconcat(’%’,#{字段名},’%’)亲测有效~

    2022年4月29日
    33
  • 大数据开发面试知识点总结[通俗易懂]

    大数据开发面试知识点总结[通俗易懂]​本文详细介绍大数据hadoop生态圈各部分知识,包括不限于hdfs、yarn、mapreduce、hive、sqoop、kafka、flume、spark、flink等技术,总结内容适合大数据开发者学习,希望能够和大家多多交流。

    2022年6月4日
    29
  • vue中使用EasyPlayer.js教程[通俗易懂]

    vue中使用EasyPlayer.js教程[通俗易懂]0前言github:EasyPlayer.js一定要是legacy分支哦,master分支是EasyWasmPlayer.js,有些功能不支持的1教程首先npm安装EasyPlayer、copy-webpack-pluginps:copy-webpack-plugin版本不能大于6.0,否则会出很多很多问题npminstall@easydarwin/easyplayer–savenpminstallcopy-webpack-plugin@5.1.2–save

    2022年6月17日
    156
  • mfc循环后界面卡死_undefined reference to printf

    mfc循环后界面卡死_undefined reference to printf使用EnterCriticalSection时卡死问题产生原因:如下代码,在已经进入临界区时,再次进入其他临界区,会导致软件卡死EnterCriticalSection(&cs0);//进入临界区EnterCriticalSection(&cs1);//进入临界区LeaveCriticalSection(&cs1);//离开临界区

    2026年1月30日
    4
  • 游戏 海外推广_手游礼包助手

    游戏 海外推广_手游礼包助手最近,网上正在热烈地讨论起优质游戏版号买卖的“生意经”了。国内手游的这条路,走得越来越不容易,现在正卡在了游戏版号这个瓶颈上,呼吸困难。而且国内的手游市场已经被大型企业比如腾讯和网易等巨头所占据,中小型的游戏厂商的出路在哪里?不用问,他们走上了出海之路!出海之路离不开手游APP的推广和营销,为了把钱花到刀刃上,需要了解怎么提升海外手游APP推广的ROI?我们选择了关于推广海外手游并提升ROI的四…

    2025年7月17日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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