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

【C#】 接口 继承

简介

继承是面向对象编程的核心特性之一,它允许我们创建一个类(称为子类)来继承另一个类(称为基类)的属性和方法。

作用

这样,我们可以重用代码,减少重复,并使我们的代码更加模块化和可维护。

使用

在 C# 中,继承是通过使用 “:” 符号来实现的。子类继承了基类的属性和方法,同时还可以添加新的属性和方法,或者覆盖基类的方法。

示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp41
{//接口(动物)interface Animal{string Name { get; set; }void MakeSound();}// 基类(哺乳动物)class Mammal : Animal{public string Name { get; set; } = "mammalName";public string Type { get; set; } = "mammalType";public virtual void MakeSound(){Console.WriteLine("The animal makes a sound");}}// 子类class Dog : Mammal{public string color { get; set; } = "red";public override void MakeSound(){Console.WriteLine("The dog barks");}}class Cat : Mammal{public override void MakeSound(){Console.WriteLine("The cat meows");}}internal class Program{static void Main(string[] args){//多态允许我们使用一个基类引用指向不同的子类对象。Mammal dog = new Dog();Console.WriteLine(dog.Name);dog.Name = "dogName";Console.WriteLine(dog.Name);Console.WriteLine(dog.Type);Console.WriteLine(((Dog)dog).color);dog.MakeSound();Console.ReadKey();}}
}

结果 

参考文献

C# 继承的详细介绍和使用-CSDN博客

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++进阶-智能指针
  • 记录一次.gitignore 失效问题
  • Linux LD_PRELOAD优先加载so失效原因分析
  • 四向量优化算法(FVIM)-2024年SCI新算法-公式原理详解与性能测评 Matlab代码免费获取
  • 前端项目部署
  • YOLOv8加载模型的3种方式说明:区别和适用场景是什么?
  • 1688 API 接口:电商系统的纽带
  • C++ STL初阶(9):list 中关于reverse_iterator的实现
  • Golang | Leetcode Golang题解之第331题验证二叉树的前序序列化
  • 【树上点差分、LCA】Max Flow P
  • linux的wps字体问题解决方法汇总
  • 鸿蒙(API 12 Beta3版)【HDR Vivid视频录制】 音视频编码
  • 三防平板满足多样化定制为工业领域打造硬件解决方案
  • 斜坡函数在PLC中的应用
  • 使用Adobe Photoshop CS5给图片加水印
  • 【comparator, comparable】小总结
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Hibernate【inverse和cascade属性】知识要点
  • JS学习笔记——闭包
  • Octave 入门
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • 高性能JavaScript阅读简记(三)
  • 记录:CentOS7.2配置LNMP环境记录
  • 聚类分析——Kmeans
  • 全栈开发——Linux
  • 使用Gradle第一次构建Java程序
  • 通过git安装npm私有模块
  • 我的zsh配置, 2019最新方案
  • 我建了一个叫Hello World的项目
  • 异步
  • 异常机制详解
  • 用mpvue开发微信小程序
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • #define,static,const,三种常量的区别
  • (06)Hive——正则表达式
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (30)数组元素和与数字和的绝对差
  • (52)只出现一次的数字III
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (笔试题)合法字符串
  • (分类)KNN算法- 参数调优
  • (回溯) LeetCode 77. 组合
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • .NET 反射 Reflect
  • .NET/C# 使用反射注册事件
  • .Net面试题4
  • .NET企业级应用架构设计系列之结尾篇
  • 。Net下Windows服务程序开发疑惑
  • /deep/和 >>>以及 ::v-deep 三者的区别