• C#干货 抽象类,类和接口


    抽象类是类的基础形态

    比如 人是一个基础类 也是个抽象类

    可以根据人 实现 男人和女人类

    接口 是一组方法的集合

    比如人 实现了一个基本的方法为 玩

    男人 玩球 玩电脑    

    女人 玩手机 玩游戏。

    那么玩就是一个接口 可以独立抽象出来

    只要去 玩 那么不管你玩什么都可以运行。

    好了上干货 ,我们来实现这个

     1         //实现玩 接口
     2         interface Iplay
     3         {
     4             void Play();
     5         }
     6         //基类,抽象类
     7        public abstract class Per:Iplay
     8         {
     9             //保护型 只能在继承类中使用
    10             protected string name;
    11 
    12            //公开性 全部可以访问
    13             public abstract string Name { get; set; }
    14 
    15            //抽象 玩接口
    16             public abstract void Play();
    17 
    18            //在基类中实现全部继承类中都可以使用的方法
    19             protected string Sex { get { if (Sex == null) { return "男性"; } else { return this.Sex; } } set; }
    20         }
    21         //男人类
    22         class Man : Per
    23         {
    24              
    25 
    26             public override void Play()
    27             {
    28                 Console.WriteLine(Name +Sex+ "玩游戏");
    29                 //throw new NotImplementedException();
    30             }
    31 
    32             protected override string Name
    33             {
    34                 get
    35                 {
    36                     return this.name;
    37                    
    38                 }
    39                 set
    40                 {
    41                     this.name = value;
    42                     
    43                 }
    44             }
    45         }
    46 
    47         //女人类
    48         class Women : Per
    49         {
    50 
    51             public override string Name
    52             {
    53                 get
    54                 {
    55                     return this.name;
    56                 }
    57                 set
    58                 {
    59                     this.name = value;
    60                 }
    61             }
    62 
    63             public override void Play()
    64             {
    65                 Console.WriteLine(Name + this.Sex + "玩电脑");
    66                 //throw new NotImplementedException();
    67             }
    68         }

    最后是使用方法

     1         [STAThread]
     2         static void Main()
     3         {
     4             Application.EnableVisualStyles();
     5             Application.SetCompatibleTextRenderingDefault(false);
     6                  
     7 
     8             Man m = new Man();
     9             m.Name = "男人";            
    10             m.Play();
    11         }
  • 相关阅读:
    uva11235 FrequentValues (ST表)
    hdu5449 Robot Dog (树形dp+倍增lca)
    [BZOJ1637][Usaco2007 Mar]Balanced Lineup
    [BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理
    Luogu1119灾后重建
    [APIO2012]派遣
    [HNOI2004]宠物收养场
    [USACO14DEC] 驮运Piggy Back
    [USACO14JAN]滑雪等级Ski Course Rating
    [CODEVS3366] 矿石
  • 原文地址:https://www.cnblogs.com/uddgm/p/6222252.html
Copyright © 2020-2023  润新知