c#继承(new base)的使用

概述

C#中的继承是面向对象编程的重要概念之一,它允许一个类(称为子类或派生类)从另一个类(称为父类或基类)继承属性和行为。

继承的主要目的是实现代码重用和层次化的组织。子类可以继承父类的字段、属性、方法和事件,而无需重新实现这些成员。通过继承,我们可以在子类中添加额外的功能或修改父类的行为,实现代码的扩展和定制。

在C#中,使用冒号(:)符号来表示一个类继承自另一个类
基类

 internal class person{public int age;public string name;public void speake(){Console.WriteLine("说话");}}

子类

   //chinese继承了person类,可以直接使用person类中定义好的字段和方法internal class chinese : person{//果如,字类中定义了和父类一样的字段或方法可以使用new关键字来修饰public new void speake(){Console.WriteLine("中文");}}

继承中的构造方法

无参构造方法

       //父类的无参构造方法public person(){Console.WriteLine("person父类无参构造函数");}//字类的无参构造方法public chinese(){Console.WriteLine("chinese字类的构造方法");}

在main方法中实例化chinese类

chinese s = new chinese();

执行后的结果
在这里插入图片描述
结论:在字类继承父类中,实例化子类的对象,会首先执行父类的构造函数,在执行字类的构造函数

有参构造函数

       //父类有参构造函数public person(int age, string name){Console.WriteLine("person父类:" + "age:" + age + ",name" + name);}//字类的有参构造函数//base关键字的作用是把字类的形参传递给父类,有参构造函数必须要父类传参,要不然会报错//base这里也可以直接写自己的参数,不复用字类传递过来的值 :base(10,"xiaoming")public chinese(int age, string name) : base(age, name){Console.WriteLine("chinese字类" + "age:" + age + ",name:" + name);}

在main方法执行chinese的有参的实列

chinese s = new chinese(301, "xiaoming1");

执行后结果
在这里插入图片描述
总结:当父类只有有参构造函数时,字类使用有参构函数时。首先调用自己的父类的有参构造函数,在调用自己的有参有参构造函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/64612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nvidia-smi nvcc -V 及 CUDA、cuDNN 安装

nvidia-smi nvcc -V 及 CUDA、cuDNN 安装 1. 问题缘由2. 分析3. CUDA Driver API 安装3.1 Software & Updates3.2 官网下载 4. CUDA Runtime API 安装5. 安装 cuDNN5.1 cuDNN下载 6. 一点点小注意事项 1. 问题缘由 之前查找 CUDA 版本时都是直接使用的 nvidia-smi 指令&am…

Python---函数

函数定义: """ def 函数名(传入参数):函数体return 返回值 """ 函数调用: """ 函数名(传入参数) """ 例子: # 不带参 def check():print("欢迎光临\n请进") che…

OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字

目录 1.绘制直线line() 2.绘制圆形circle() 3.绘制椭圆形ellipse() 4.绘制矩形rectangle() 5.绘制多边形 fillPoly() 6.绘制文字putText() 7.例子 1.绘制直线line() CV_EXPORTS_W void line(InputOutputArray img,Point pt1, Point pt2,const Scalar& color,int t…

2021年03月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:生日相同 2.0 在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。 时间限制:1000 内存限制:65536 输入 第一行为整数n,表示有n个学生,n ≤ 180。此后每行包…

论文阅读_扩散模型_DDPM

英文名称: Denoising Diffusion Probabilistic Models 中文名称: 去噪扩散概率模型 论文地址: http://arxiv.org/abs/2006.11239 代码地址1: https://github.com/hojonathanho/diffusion (论文对应代码 tensorflow) 代码地址2: https://github.com/AUTOM…

java八股文面试[数据库]——索引的基本原理、设计原则

索引的设计原则 索引覆盖是什么: 索引(在MySQL中也叫做“键(key)”) 是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引…

SQLserver基础入门理论(超基础)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

【小沐学Unity3d】3ds Max 多维子材质编辑(Multi/Sub-object)

文章目录 1、简介2、精简材质编辑器2.1 先创建多维子材质,后指定它2.2 先指定标准材质,后自动创建多维子材质 3、Slate材质编辑器3.1 编辑器简介3.2 编辑器使用 结语 1、简介 多维子材质(Multi/Sub-object)是为一个模形&#xff0…

使用Vue3和Vite升级你的Vue2+Webpack项目

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

CSS水平垂直居中方案

1 前言 水平居中、垂直居中是前端面试百问不厌的问题。其实现方案也是多种多样,常叫人头昏眼花。 水平方向可以认为是内联方向,垂直方向认为是块级方向。 2 内联元素的水平垂直居中 首先,常见内联元素有:a、span、em、b、stro…

使用PAM保障开发运营安全

硬编码凭据和 DevOps 系统中缺乏凭据安全性是组织的巨大漏洞。以明文形式访问凭据的恶意内部人员可以在 IT 中建立和扩展其立足点 基础设施,构成巨大的数据被盗风险。 什么是PAM 特权访问管理 (PAM) 是指一组 IT 安全管理原则,可…

解决gitee仓库中 .git 文件夹过大的问题

最近,许多项目都迁移到gitee。使用的也越来越频繁,但是今天突然收到一个仓库爆满的提示。让我一脸懵逼。本文将详细为你解答,这种情况如何处理。 1、起因 我收到的报错如下: remote: Powered by GITEE.COM [GNK-6.4] remote: T…

RDMA性能优化经验浅谈

一、RDMA概述 首先我们介绍一下RDMA的一些核心概念,当然了,我并不打算写他的API以及调用方式,我们更多关注这些基础概念背后的硬件执行方式和原理,对于这些原理的理解是能够写出高性能RDMA程序的关键。 Memory Region RDMA的网…

【运维】hadoop3.0.3集群安装(二) 横向新增节点和删除节点

文章目录 一. 新增节点1.配置、安装1.1. 所有节点配置新节点主机映射1.2. 上传安装包1.3. 配置环境变量1.4. 配置workers1.5. 清理之前集群的数据目录(如有) 2. 新增节点启动3. 平衡DataNode节点 二. 删除节点1. namenode节点操作1.1. 添加excludes文件1…

spring高级源码50讲-43-50(spring续)

其它 43) FactoryBean 演示 - FactoryBean 代码参考 package com.itheima.a43;import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan;ComponentScan public class A43 {publi…

在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?

相信大家在使用selenium做网页自动化时,会遇到如下这样的一个场景: 在你使用get访问某一个网址时,会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而,很不幸,Alert类处理的结果就是没有结果…

Flutter系列文章-Flutter在实际业务中的应用

不同场景下的解决方案 1. 跨平台开发: 在移动应用开发中,面对不同的平台(iOS和Android),我们通常需要编写两套不同的代码。而Flutter通过一套代码可以构建适用于多个平台的应用,大大提高了开发效率&#x…

ArrayList LinkedList

ArrayList 和 LinkedList 区别 ArrayList和LinkedList都是Java集合框架中的实现类,用于存储和操作数据。它们在底层实现和性能特点上有一些区别。 数据结构:ArrayList底层使用数组实现,而LinkedList底层使用双向链表实现。这导致它们在内存结…

ModaHub魔搭社区:自动化机器学习神器Auto-Sklearn

Auto-Sklearn Auto-Sklearn是一个开源库,用于在 Python 中执行 AutoML。它利用流行的 Scikit-Learn 机器学习库进行数据转换和机器学习算法。 它是由Matthias Feurer等人开发的。并在他们 2015 年题为“efficient and robust automated machine learning 高效且稳健的自动…

YOLOv7框架解析

YOLOv7概念 YOLOv7是基于YOLO系列的目标检测算法,由Ultra-Light-Fast-Detection(ULFD)和Scaled-YOLOv4两种算法结合而来。它是一种高效、准确的目标检测算法,具有以下特点: 1. 高效:YOLOv7在保持准确率的…