13.继承和多态的实例 C#

这是一个动物园的动物发出不同的声音,使用了继承和多态

cs 复制代码
using System;
using System.Collections.Generic;

namespace InheritanceAndPolymorphismExample
{
    //一个动物类,包含属性:名称。包含方法:发出叫声
    public class Animal
    {
        public string Name { get; set; }
        public virtual void Speak()
        {
            Console.WriteLine("The animal makes a sound.");

        }
    }

    //从动物类继承一个狗类,多态一个方法:狗叫
    public class Dog : Animal
    {
        public override void Speak()
        {
            Console.WriteLine("The dog says:Woof!");

        }
    }

    //从动物类继承一个猫类,多态一个方法:猫叫
    public class Cat : Animal
    {


        public override void Speak()
        {
            Console.WriteLine("The cat says:Meow!");

        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            //新建一个列表,叫动物们,对应的是animal类,并引入实例,狗猫动物
            List<Animal> animals = new List<Animal>
            {

                new Dog{Name="Buddy" },
                new Cat{Name="Whiskers"},
                new Animal{Name="Generic Animal" }

            };

            //从列表中读取,全部执行方法
            foreach (Animal animal in animals)
            {
                Console.WriteLine($"Animal:{animal.Name}");
                animal.Speak();
                Console.WriteLine();


            }
            Console.ReadLine();

        }
    }




}

输出结果:

cs 复制代码
The animal:Leo
The cat says:Meow!

The animal:Whiskers
The dog says:Woof!

The animal:Generic Animal
The Animal makes a sound.
相关推荐
在下小孙6 小时前
初始C#.
开发语言·c#
Nita.12 小时前
适配器模式详解:解决接口不兼容问题的灵活设计模式
设计模式·c#·适配器模式
Marzlam12 小时前
C# 多线程发展史(面试思路)
c#
步、步、为营13 小时前
C# 条件编译的应用
开发语言·c#
CodeCraft Studio13 小时前
如何利用.NET版PDF处理控件Aspose.PDF,使用 C# 从 PDF 中删除水印
pdf·c#·.net
pchmi13 小时前
C# OpenCV机器视觉:特征匹配 “灵魂伴侣”
人工智能·opencv·计算机视觉·c#·特征匹配·opencvsharp
飞由于度13 小时前
C#中无法在串口serialPort1_DataReceived启动定时器的解决方法
开发语言·c#
小乖兽技术13 小时前
模块化架构与微服务架构,哪种更适合桌面软件开发?
微服务·架构·c#
m0_7482404413 小时前
大屏开源项目go-view二次开发1----环境搭建(C#)
golang·开源·c#
编程乐趣16 小时前
Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,不输GPT-3.5
人工智能·c#·gpt-3