c# 继承特点(1)

2021-06-23 17:05

阅读:568

标签:字段   protected   mat   属性   调用   his   rri   anim   屏蔽   

namespace console_class_继承
{
    class Program
    {
        public static void Main(string[] args)
        {
            
            Dog d = new Dog("小花");
            
            d.run();
            Console.ReadKey(true);
        }
    }
    
    
    class Animals{
        

        public virtual void run(){
            
            
            Console.WriteLine(string.Format("class:{0} i`m running", this)); //这里是派生于animal 子类dog指针
            
            
            
            walk();//这里还是通过向上查找原则,找到父类中的实现;
        }
        
        
        protected virtual void walk(){ 
            
            Console.WriteLine("now, i`m walking... father");
        }
    }
    
    
    class Dog: Animals{
        
        public Dog(string name){
            Console.WriteLine(name);
        }
        
        public override void run(){
            
            
            base.run();
        }
        
//        protected override void walk(){ //我们屏蔽掉这段实现
//            
//            Console.WriteLine("now, i`m walking...");
//        }
    }
    
    //1、子类可以通过base关键字调用基类的属性方法;
    //2、派生类初始化
    //        -> 初始化子类属性,字段
    //        -> 初始化父类子类属性,字段
    //      -> 初始化父类构造器
    //        -> 初始化派生类构造器
    //
    //
}

 

c# 继承特点(1)

标签:字段   protected   mat   属性   调用   his   rri   anim   屏蔽   

原文地址:https://www.cnblogs.com/alplf123/p/10188770.html


评论


亲,登录后才可以留言!