c#基础封装继承和多态 —— 小白笔记#1

本文介绍了C#编程中的封装、继承和多态概念,通过麻雀和老鹰类的实例展示如何使用这些特性。封装用于数据组织,继承实现代码复用和扩展,多态则体现在同名方法根据不同对象执行不同操作。
摘要由CSDN通过智能技术生成

一、基础概念

         封装:在c#的使用中,我们通常会将所使用到的参数,方法以及变量放到一个class中,方便在以后的使用中进行调用,这便是对数据的封装。

         继承:继承是c#中的一个重要概念,它能够扩展clsss中的参数以及方法,如果子类和父类具有相同方法,子类会将父类中的方法进行隐藏,从而完成对程序的升级,进一步完善程序的功能。子类(派生类)能够继承父类(基类)中的所有参数并进行调用,继承也能够实现多层继承,比如,子类继承父类,父类继承爷爷类,从而实现子类继承自爷爷类。

         多态:总的来说,就是同一个方法根据调用者的不同,执行不同的状态。

二、案例分析

         封装:我们把麻雀和老鹰的名字、食物以及Eat()方法放在其各自所在的类中,这边完成了数据的封装从而更加方便的调用其中的方法。

public class Sparrow
{
    private string name = “麻雀”;
    private string food = “稻谷”
    public void Eat()
    {
        Console.WriteLine(name + “吃” + food);
    }
}


public class Eagle
{
    private string name = “老鹰”;
    private string food = “麻雀”;
    public void Eat()
    {
        Console.WriteLine(name + “吃” + food);
    }
}

         继承:Eagle类与Sparrow类都继承Bird类,而Bild类中存在方法Fly,所以在他们各自的类中也默认存在Fly这个方法,并且能够从中进行调用。

public class Bird
{
    public void Fly()
    {
        Console.WriteLine(“飞翔”);
    }
}

public class Sparrow: Bird
{
    private name = “麻雀”;
    private food = “稻谷”
    public void Eat()
    {
        Console.WriteLine(name + "吃" + food);
    }
}

public class Eagle: Bird
{
    private name = “老鹰”;
    private food = “小鸡”
    public void Eat()
    {
        Console.WriteLine(name + "吃" + food);
    }
}

         多态:通过下面一段代码和运行结果可以看出,对象sparrow与对象eagle同样调用了Eat方法,但是他们所执行的命令是完全不同的,这便是多态的一种表现形式。

namespace duotai
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Bird sparrow = new Sparrow();
            Bird eagel = new Eagle();
            sparrow.Eat();
            eagle.Eat();
            Console.ReadKey();
        }
    }
    public class Bird
    { 
        public void Eat()
        {
            Console.WriteLine("鸟吃食物");
        }
    }
    public class Sparrow: Bird
    {
        private string name = "麻雀";
        private string food = "稻谷";
        public void Eat()
        {
            Console.WriteLine(name +"吃" + food);
        }
    }
    public class Eagle: Bird
    {
        private string name = "老鹰";
        private string food = "小鸡";
        public void Eat()
        {
            Console.WriteLine(name +"吃" + food);
        }
    }
}

 运行结果:

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值