C#高级编程第四章学习笔记-继承

1.实现继承:表示一个类型派生于另一个基类型,他拥有基类型的所有成员变量和方法,因此在需要给现有的类型增肌新的功能后者写一些共享性的代码时很有用。

接口继承:只继承了函数的签名没有集成其他的方法的实现

2.C#不支持多重继承,但是允许派生自多个接口

3,把一个基类函数声明为virtual,可以在任何派生类中重写这个方法

4,隐藏方法,基类和继承类中有同名的方法,实现不同的功能,在调用时会出现问题,采用new这个关键字来隐藏掉基类中的方法

public class A
    {
        public void Print()
        {
            Console.WriteLine("A");
        }
    }

    public class B : A
    {
        public new void Print()
        {
            Console.WriteLine("B");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            B b=new B();
            b.Print();
            Console.ReadKey();
        }
    }

5,C#有一种特殊的语法调用基类中的方法


6.抽象类和抽象函数

抽象类不能实例化,抽象函数不能直接实现,注意修饰符不能为private,private是没有意义的

    public abstract class A
    {
        public abstract void Print();
        protected abstract void Print1();

    }

    public class B : A
    {
        public override void Print()
        {
            throw new NotImplementedException();
        }
        protected override void Print1()
        {
            throw new NotImplementedException();
        }
    }

7,密封类和密封方法

C#允许把类声明为sealed对于类表示类不能被继承,对于方法表示不能被重写,继承B的类不能重写Print方法

 public abstract class A
    {
        public abstract void Print();

    }  
    public class B : A
    {
        public sealed override void Print()
        {
            throw new NotImplementedException();
        }
    }
  public abstract class A
    {
        public abstract void Print();

    }
    public class C : A
    {
        public override void Print()
        {
            throw new NotImplementedException();
        }
    }
    public class B : A
    {
        public sealed override void Print()
        {
            throw new NotImplementedException();
        }
    }

    public class D : C
    {
        public override void Print()
        {
            //base.Print();
        }
    }
    public class E : B
    {
      
    }

8.派生类的构造函数


9.修饰符



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值