C#:枚举、结构与接口简单理解

枚举:值的集合

结构:变量的集合

接口:方法的集合:只定义,不具体实现,被继承时,需要全部实现其所定义的方法

\\\

枚举:值的集合

namespace caEnum
{
    enum Gender
    {
        男,
        女

    }
    class Program
    {
        static void Main(string[] args)
        {
            Gender sex;
            string a = Gender.男.ToString();
            string s = Console.ReadLine();
            //(自定义枚举名)(Enum.Parse(typeof(自定义枚举名),s));
            try
            {
                sex = (Gender)(Enum.Parse(typeof(Gender),s));
                Console.WriteLine("你输入的性别为:" + sex);
            }
            catch
            {
                Console.WriteLine("你输入的性别有误!");
            }
        }
    }
}



结构:变量的集合
namespace caEnum
{
    public struct Person
    {
        public string name;
        public int age;
        public Gender sex;
    }

    public enum Gender
    {
        男,
        女
    }

    class Program
    {
        static void Main(string[] args)
        {
            Person p1 = new Person();
            p1.name = "张三";
            p1.age = 19;
            p1.sex = Gender.男;

            Person p2 = new Person();
            p2.name = "李四";
            p2.age = 18;
            p2.sex = Gender.女;

            Console.WriteLine("{0},{1},{2}",p1.name,p1.age,p1.sex);
            Console.WriteLine("{0},{1},{2}",p2.name,p2.age,p2.sex);

        }
    }
}


\\\
接口:方法的集合:只定义,不具体实现,被继承时,需要全部实现其所定义的方法
namespace caEnum
{

    public interface ISwim
    {
        void Swim();
    }

    public interface IFood
    {
        void Cook();
    }

    public abstract class Bird
    {
        public abstract void Fly();
    }
    //继承自一个抽象类,实现两个接口
    public class Duck : Bird, IFood, ISwim
    {
        public void Swim()
        {
            Console.WriteLine("是鸭子就会游泳!");
        }
        public void Cook()
        {
            Console.WriteLine("鸭子经常被烧烤!");
        }
        public override void Fly()
        {
            Console.WriteLine("只有野鸭才会飞!");
        }

    }

    class Program
    {
        static void Main(string[] args)
        {
            Duck d = new Duck();
            //Duck对象d可以使用3种类型的方法:
            //1、自身定义的,2、父类定义的,3、接口定义的
            d.Fly();
            d.Cook();
            d.Swim();
        }
    }
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值