继承

本文的主要内容节选自博客园:http://www.cnblogs.com/jiajiayuan/archive/2011/09/09/2172292.html

我们都知道继承、封装和多态是面向对象编程的重要特性。

其成员被继承的类叫基类也称父类,继承其成员的类叫派生类也称子类。

派生类隐式获得基类的除构造函数和析构函数以外的所有成员。

派生类只能有一个直接基类,所以C#并不支持多重继承,但一个基类可以有多个直接派生类。

下面讲讲继承的一些特性:

1.继承是可以传递的,ClassA 派生出 ClassB,ClassB 派生出 ClassC,则 ClassC 会继承 ClassB 和 ClassA 中声明的成员

class A

    {

        public void Sum(int i,int j)

        {

            int sum = i + j;

            Console.WriteLine("I am A ,my sum ={0}",sum);

        }

    }

    class B : A

    {

        public void Minus(int i,int j)

        {

            int minus = i - j;

            Console.WriteLine("I am B ,my minus ={0}", minus);

            this.Sum(3, 4);
        }

 

    }

    class InheritanceTest1

    {

        static void Main(string[] args)

        {

            B b = new B();

            b.Minus(3, 4);

            Console.Read();

        }

    }
结果:I am B ,my minus=-1 

          I am A ,my sum = 7

2.基类中的私有成员能被继承吗?可以,但是它们却不可以被访问,因为私有成员只能被声明它们的类或结构体中才可访问,所以看上去像是没有被继承。

3.能够阻止某个类被其他类继承吗?可以,使用sealed 修饰符

sealed class A

    {

        int test;

        public void Sum(int i,int j)

        {

            int sum = i + j;

            Console.WriteLine("I am A ,my sum ={0}",sum);

        }

    }

    class B : A

    {

        public void Minus(int i,int j)

        {

            int minus = i - j;

            Console.WriteLine("I am B ,my minus ={0}", minus);

            this.Sum(3, 4);       //编译器会报错    

        }

     }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值