关闭

c#面向对象特征(1)之继承

标签: C#面向对象继承
198人阅读 评论(0) 收藏 举报
分类:
c#中类不能多重继承
基类中的virtual函数可以在子类中重写,也可以不重写。子类的实例化对象都会继承基类中的函数。
sealed用在类前表示关闭类即该类无法被继承

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ConsoleApplication1Another;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dog dog = new Dog();
            dog.age = 10;
            dog.Byte();
            //抽象函数没有被重写也可以被子类继承
            dog.GetAge();

            dog.BitMan();
            Console.ReadLine();
        }
    }

    class Animal {
        public int age
        {
            get;
            set;
        }

        //抽象函数--需要在继承的子类中实现
        public virtual void Byte() {
            Console.WriteLine("Animal byte!");
        }
        //不重写也可以被子类继承
        public virtual void GetAge() {
            Console.WriteLine(age);
        }

        //不用重写,如果重写的话则在子类中对应的函数需要添加new关键字,否则编译不通过
        public void BitMan() {
            Console.WriteLine("Animal bite man!");
        }

    }

    //overrade重写Byte()
    sealed class Dog : Animal//sealed表示该类无法被继承
    {
        public override void Byte()
        {
            Console.WriteLine("Dog byte!");
        }

        public new void BitMan() {//new 关键字使得基类中的方法被隐藏。
            Console.WriteLine("Dog bit man!");
        }
    }
}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

继承Thread类创建多线程

package 多线程; public class 继承Thread开启多线程 { public static void main(String[] args) { MyThread myThread = new MyThread(); //定义一个MyTread类型的变...
  • Hellotanbin
  • Hellotanbin
  • 2015-09-24 20:44
  • 1561

对C#继承的理解

C# 继承的理解
  • u010533180
  • u010533180
  • 2016-09-30 10:39
  • 6710

关于面向对象的三个基本特征 封装、继承、多态 ’

吾思                                          ...
  • FroSro
  • FroSro
  • 2016-10-13 18:51
  • 237

C#的继承特性

C#面向对象的继承特性
  • Lin_For_Game
  • Lin_For_Game
  • 2015-07-30 23:52
  • 1858

C#中的继承举例

源码: using System; namespace Inherit { public class Person { public string name; //定义域 public int age; virtual public...
  • u014581901
  • u014581901
  • 2016-04-04 14:29
  • 430

论C#如何实现多继承

谁说c#不能实现多继承,看本文是怎样那你的代码可以实现多继承的吧!
  • zhanghongjie0302
  • zhanghongjie0302
  • 2014-08-27 20:39
  • 2498

c# 继承的本质

今天和大家解释一下什么叫继承,估计好多人都只知道怎么用,对于大多数开发者来说,它应该比较熟悉,估计是作为面向对象的三大要素之一吧,所以这是很多人对于继承的最直接的认识吧。大学课本里老生常谈。出来工作又不断重复的使用。它总是和封装,多态交织在一起,形成比较复杂的局面。关于如何理解多层继承的机制,如何理...
  • u012565990
  • u012565990
  • 2016-08-09 22:27
  • 1485

原来Java中的继承和C#中的继承是不一样的

因为之前在学校里学的是Java,C#是自学的,一直感觉Java和C#就像是孪生兄弟,不过今天才发现原来Java中的继承和C#中的继承还是有点不一样的 在Java中子类继承父类的方法,如果在子类重新定义了父类方法的实现,那么这个过程就是重写,且只能是重写,而在C#中不一样,在C#中可以用virtua...
  • xiaxiaoying2012
  • xiaxiaoying2012
  • 2016-03-10 23:53
  • 1127

C++ 和C# 继承机制的差异之浅见

C++继承方式总共分为以下几种: public、private、protected三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。 (1)public(公有继承):继承时保持基类中private成员被隐藏,其它各成员属性不变,被继承为派生类的成员。so派生类的成员只能访...
  • wangzhen199009
  • wangzhen199009
  • 2013-01-03 13:18
  • 2519

c#继承中的函数调用

首先看下面的代码: using System; namespace Test { public class Base { public void Print() { Console.WriteLine(Operate(8, 4)); } protected virtu...
  • u010233287
  • u010233287
  • 2014-12-23 10:21
  • 1071
    个人资料
    • 访问:79692次
    • 积分:1606
    • 等级:
    • 排名:千里之外
    • 原创:74篇
    • 转载:12篇
    • 译文:0篇
    • 评论:25条
    最新评论