前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c# 高级语法之继承

c# 高级语法之继承

原创
作者头像
睡神
修改2022-11-10 22:48:46
3100
修改2022-11-10 22:48:46
举报
文章被收录于专栏:.NETCORE.NETCORE

1、继承的定义:

类(子类)可以从另一个类(父类)继承以扩展或定制原始类。

继承一个类会重用该类中的功能。

类只能从一个类继承。

2、代码展示

代码语言:c#
复制
 static void Main(string[] args)
     {
#region 继承
    Student student = new Student();
    student.Run();
    student.Height = 175;
    Person person = new Student();
    person.Run();  
     
   Console.ReadKey();
    }
}

父类
class Person
    {
    
       public int Height { get; set; }  
        public void Run()
        {
            Console.WriteLine("Person can run");
        }
      
    }
    子类
    class Student : Person
    {
        public new void Run()
        {
            Console.WriteLine("Student can run");
        }
     
    }
    #endregion

总结:

1、父类不可以用私有修饰符,默认使用的是internal(超出命名空间的类无法继承此类)

2、new 用在子类中表示,父类中同名的方法被隐藏了

3、父类中的方法被私有修饰符修饰,子类无法继承

02 面向对象之继承中抽象类与抽象方法

1、抽象类与抽象方法

(1)使用 abstract 关键字进行定义

(2)抽象方法必须定义在抽象类中且无方法体

(3)使用 override 关键字进行重写

注意:如果想用 override 直接重写普通父类的普通方法必须用 virtual 将父类方法定义为虚方方法

2、代码展示

代码语言:c#
复制
  static void Main(string[] args)
        {
            #region 继承
            //Student student = new Student();
           
            //student.Eat();
            //student.play();
            //Person person = new Student();           
            //person.Eat();
            //person.play(); 
            #endregion

          

            Console.ReadKey();
        }
    }

    #region 继承
    abstract class Person
    {        
        public virtual void Eat()
        {
            Console.WriteLine("Person can eat");
        }
        public abstract void play();
    }
    class Student : Person
    {
      
        public override void Eat()
        {
            Console.WriteLine("Student can eat");
        }

        public override void play()
        {
            Console.WriteLine("Student can play");
        }
    }
    #endregion

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com