zoukankan      html  css  js  c++  java
  • C#类的继承多态(虚方法,隐藏方法、抽象类和抽象方法)

    实现的一个DEMO程序,见代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //-------虚方法---------------
    
                Fruit fruit = new Peach();
    
                //Fruit fruit = new Fruit();
    
                Console.WriteLine( fruit.Juice());
    
                //-----------------------------------
    
                //------------隐藏方法---------------
    
                Peach fruit2 = new Peach();
    
                //Fruit fruit2 = new Apple();
    
                Console.WriteLine(fruit2.LL());
    
    
                //-------------------------------------
    
                //-------------抽象方法------------------------
                //因为抽象类无法实例化,所以抽象方法没有办法被调用,也就是说抽象方法永远不可能被实现。
    
                //CC bB = new CC();
    
                BB bB = new BB();
    
                Console.WriteLine(bB.area());
    
                //-----------------------------------------------
    
                Console.ReadKey();
            }
    
            #region--------------虚方法和隐藏方法类--------------------------
            class Fruit
            {
                public virtual string Juice()//虚方法(主类使用virtual关键字)
                {
                    string juice = "null";
    
                    return juice;
                }
                public string LL()//隐藏方法
                {
                    string ll = "null";
    
                    return ll;
                }
            }
            class Apple : Fruit
            {
                public override string Juice()//虚方法(副类使用override关键字)
                {
                    string juice = "applejuice";
    
                    return juice;
                }
                public new string LL()//隐藏方法(副类使用new关键字)
                {
                    string ll = "applell";
    
                    return ll;
                }
            }
            class Peach : Fruit
            {
                public override string Juice()///虚方法(副类使用override关键字)
                {
                    string juice = "Peachjuice";
    
                    return juice;
                }
                public new string LL()//隐藏方法(副类使用new关键字)
                {
                    string ll = "peachll";
    
                    return ll;
                }
            }
            class Pear : Fruit
            {
                public override string Juice()//虚方法(副类使用override关键字)
                {
                    string juice = "Pearjuice";
    
                    return juice;
                }
                public new string LL()//隐藏方法(副类使用new关键字)
                {
                    string ll = "pearll";
    
                    return ll;
                }
            }
            #endregion
    
            #region -------------------抽像方法类------------------------
    
            public abstract class AA//抽象类(配合abstract字段使用)
            {
                public abstract string area();//抽象方法(主类配合abstract字段使用)
            }
            public class BB : AA
            {
                public override string area()//抽象方法(副类配合override字段使用实现抽象方法)
                {
                    string ar = "BB";
    
                    return ar;
                }
            }
            public class CC : AA
            {
                public override string area()//抽象方法(副类配合override字段使用实现抽象方法)
                {
                    string ar = "CC";
    
                    return ar;
                }
            }
            #endregion
        }
    }
    
    
  • 相关阅读:
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Python位运算符
  • 原文地址:https://www.cnblogs.com/LcVong/p/13609247.html
Copyright © 2011-2022 走看看