iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >关于C#继承的简单应用代码分析
  • 277
分享到

关于C#继承的简单应用代码分析

2024-04-02 19:04:59 277人浏览 安东尼
摘要

比如,现在有一些图形,需要计算他们的面积,计算面积的方法都不一样,可以这么做 声明一个抽象类 //基类 abstract class Shape {

比如,现在有一些图形,需要计算他们的面积,计算面积的方法都不一样,可以这么做

声明一个抽象类


//基类
    abstract class Shape
    {
        //抽象方法 计算面积
        public abstract double ComputerArea();

    }

声明子类


//子类 继承Shape 实现抽象方法
    class Circle : Shape
    {
        private double _radius;

        //构造函数
        public Circle(double radius) => _radius = radius;

        //实现抽象方法
        public override double ComputerArea()
        {
            return _radius * _radius * Math.PI;
        }
    }

    //子类 继承Shape 实现抽象方法
    class Rectangle : Shape
    {

        private double _width;

        private double _height;

        //构造函数
        public Rectangle(double width, double height)
        {
            _width = width;
            _height = height;
        }
        //实现抽象方法
        public override double ComputerArea()
        {
            return _width * _height;
        }
    }

    //子类 继承Shape 实现抽象方法
    class Triangle : Shape
    {

        private double _bottom;

        private double _height;

        //构造函数
        public Triangle(double bottom, double height)
        {
            _bottom = bottom;
            _height = height;
        }
        //实现抽象方法
        public override double ComputerArea()
        {
            return _bottom * _height / 2;
        }
    }

声明计算类


//计算类
    class Calculate
    {
        //传入一个父类作为参数,调用方法
        public void Calc(Shape shape)
        {

            Console.WriteLine($"{shape.GetType().Name}的面积:{shape.ComputerArea()}");
        }
    }

测试


class Program
    {
        static void Main(string[] args)
        {
            var circle = new Circle(5);
            var rect = new Rectangle(5, 10);
            var triangle = new Triangle(6, 8);

            var calc = new Calculate();

            calc.Calc(circle);
            calc.Calc(rect);
            calc.Calc(triangle);
        }
    }

运行结果

实际上 如果是只有这个方法要实现的话,继承接口也是可以的!

实例扩展:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;



namespace inheritApplication
{
  //程序员类(基类)
  class Programmer
  {
    public string name = "我是程序员";
  }
  //java程序员类
  class Jpro 
  {
    public string name = "java程序员";
    public string language = "我用java语法写代码";
  }
  //C程序员类
  class Cpro 
  {
    public string name = "C#程序员";
    public string language = "我用C#语法写代码";
  }
  //编写项目类
  class Pro : Programmer //继承基类
  {
    public void WriteProgram(Jpro program) //继承java程序员类
    {
      Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
    }
    public void WriteProgram(Cpro program)
    {
      Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
    }
  }
  //主程序
  class Program
  {
    static void Main(string[] args)
    {
      Pro p = new Pro();
      Jpro p1 = new Jpro();
      p.WriteProgram(p1);
      Cpro p2 = new Cpro();
      p.WriteProgram(p2);
      Console.ReadKey();
    }
  }
}

到此这篇关于关于C#继承的简单应用代码分析的文章就介绍到这了,更多相关C#继承的简单应用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 关于C#继承的简单应用代码分析

本文链接: https://www.lsjlt.com/news/126587.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于C#继承的简单应用代码分析
    比如,现在有一些图形,需要计算他们的面积,计算面积的方法都不一样,可以这么做 声明一个抽象类 //基类 abstract class Shape { ...
    99+
    2024-04-02
  • c++中继承关系的示例分析
    这篇文章给大家分享的是有关c++中继承关系的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 什么是继承继承概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序...
    99+
    2023-06-20
  • CSS的继承性及应用实例分析
    本篇内容介绍了“CSS的继承性及应用实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   CSS是...
    99+
    2024-04-02
  • Java语言中的抽象类与继承实例代码分析
    这篇文章主要介绍“Java语言中的抽象类与继承实例代码分析”,在日常操作中,相信很多人在Java语言中的抽象类与继承实例代码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java语言中的抽象类与继承实例代...
    99+
    2023-07-04
  • JNI实现最简单的JAVA调用C/C++代码
    JNI,是Java Native Interface的简称,中文是“Java本地调用”。通过这种技术可以做到以下两点: Java程序中的函数可以调用Native语言写的函数,Native一般指的是C/C++编写的函数。 Native程序...
    99+
    2023-05-31
    java jni ava
  • 如何进行SQL SERVER中关于exists 和 in的简单分析
    这篇文章给大家介绍如何进行SQL SERVER中关于exists 和 in的简单分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。In与Exists这两个函数是差不多的,但由于优化方案...
    99+
    2024-04-02
  • C++关于const与引用的分析讲解
    目录一、关于 const 的疑问二、关于引用的疑问三、小结一、关于 const 的疑问 const 什么时候为只读变量?什么时候是常量? const 常量的判别准则 只有用字面量初始...
    99+
    2024-04-02
  • 简单且有用的Python数据分析和机器学习代码
    为什么选择Python进行数据分析? Python是一门动态的、面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言。Python入门简单,代码可读性强,一段好的Python代码...
    99+
    2024-04-02
  • C++ Cartographer源码中关于Sensor的数据走向分析
    本篇内容主要讲解“C++ Cartographer源码中关于Sensor的数据走向分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ Cartographer源码中关于...
    99+
    2023-07-05
  • gin 的 Context.Redirect 的单元测试适用于 GET 响应代码,但不适用于 POST 响应代码 (golang)
    在使用Go语言编写Web应用程序时,我们经常会用到gin框架来处理HTTP请求和响应。在进行单元测试时,我们需要对代码进行覆盖测试,以保证代码的质量和稳定性。然而,针对gin的Cont...
    99+
    2024-02-10
    go语言
  • Spearman 相关性分析法,以及python的完整代码应用
    Spearman 相关性分析法 简介 Spearman 相关性分析法是一种针对两个变量之间非线性关系的相关性计算方法,同时,它不对数据的分布进行假设。该方法的基本思想是将两个(也可以多个)变量的值...
    99+
    2023-09-09
    python pandas 数据分析
  • 关于yolov5的一些简单说明(txt文件、训练结果分析等)
    目录一、yolo中txt文件的说明:二、yolo跑视频、图片文件的格式:三、yolov5训练结果不好的原因:四、yolov5训练结果(train文件)分析总结一、yolo中txt文件...
    99+
    2024-04-02
  • 关于重写equals()方法和hashCode()方法及其简单的应用
    目录重写 equals()方法 和 hashCode()方法重写 equals() 方法重写 hashCode() 方法扩展部分 TreeSet 的简单应用重写 equals()方法...
    99+
    2023-05-14
    重写equals()方法 重写hashCode()方法 重写equals()方法和hashCode()方法 equals()简单的应用
  • Python实现C#代码生成器应用服务于Unity示例解析
    目录开发目标:实现小红帽所挂脚本的自动生成下图为生成的最终目标主程序具体python代码如下:所设置的TMPL文件如下:自动生成的c#代码展示如下:开发目标:实现小红帽所挂脚本的自动...
    99+
    2024-04-02
  • C语言的static关键字应用实例分析
    这篇文章主要介绍“C语言的static关键字应用实例分析”,在日常操作中,相信很多人在C语言的static关键字应用实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言的static关键字应用实例分析...
    99+
    2023-06-30
  • CSS应用中小技巧代码的示例分析
    小编给大家分享一下CSS应用中小技巧代码的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.清除浮动方法1:#test{...
    99+
    2024-04-02
  • 使用PyCharm简化项目打包:简单操作使你的代码成为独立应用
    利用PyCharm轻松打包项目:简单操作让你的代码成为独立应用 引言:在Python的开发过程中,我们经常会使用一些外部库和模块来帮助我们实现功能。但是当我们将代码分享给其他人使用时,他们可能没有安装我们使用的这些库和模块,导致...
    99+
    2024-02-03
    项目 pycharm 打包 shell脚本 python脚本
  • 关于vue自适应布局(各种浏览器,分辨率)的示例代码
    目录1.前言2.vue的布局风格2.1vue3需要配合element plus进行布局2.2src下面创建layout文件夹 3.测试效果 4.总结1.前言 sp...
    99+
    2024-04-02
  • 一篇文章带你了解C语言二分查找的简单应用
    目录前言实战演练思路分析总结前言 在有序数组中查找具体的某个数字n,可能有同学会说一个一个找,但是这样的效率实在太低,特别是对于有序的数组,效率太低。我们一般从中间元素开始找,查一次...
    99+
    2024-04-02
  • 二维码的生成与识别如何应用于大数据分析?
    随着移动互联网的快速发展,二维码已经成为了人们生活中不可或缺的一部分,它不仅可以帮助我们快速获取信息,还可以用于支付、入口等方面。但是,除了这些基本的应用之外,二维码还有着更加广泛的应用领域,例如在大数据分析中的应用。 一、二维码的生成 ...
    99+
    2023-08-22
    二维码 大数据 编程算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作