`
xiaotao.2010
  • 浏览: 217678 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

C# 继承 (virtual、override、new、sealed)

 
阅读更多

 

1、C#中的继承写法

 

子类应用父类的方法 属性 使用关键字 “base” 。

 

 

/* C#中的继承父类的关键字是 “:”  */
class Son : Father {
}

 

 

2、virtual、override、new

 

 C#中不支持隐式重写子类中的方法

 

virtual     父类中需要注明允许重写的方;

override  子类中必须显示声明该方法是重写的父类中的方法;

new        子类中忽略父类的已存在的方法,“重写该方法;”

 

 

//父类方法
class Father {
       
        public string SayHello() {
            return "Hello ~!";
        }
     
        /* 父类中声明该方法是允许重写的方法(virtual) */
        public virtual string SayNo() {
            return "Hello No ~! ";
        }
    }

//子类方法
class Son : Father {
        //new是指“隐藏”,是指子类隐藏了父类的方法,当然,通过一定的转换,可以在子类的对象中访问父类的方法。
        //override是指“覆盖”,是指子类覆盖了父类的方法。子类的对象无法再访问父类中的该方法。
        public new string SayHello() {
            return "!!!!!!!!!!";
        }
   
        /* 子类中注明该方法是重写方法 (override);父类方法是abstract 修饰时,子类重写该方法也使用(override) */
        public override string SayNo() {
            return "no ~~~~ !!!!";
        }
    }

 

 

3、sealed 

 

C# 禁止子类方法重写父类方法的关键字,类似于java 中的 final;

 

分享到:
评论

相关推荐

    new、abstract、virtual、override,sealed关键字区别和使用代码示例

    C# 中的 new、abstract、virtual、override、sealed 关键字的区别和使用代码示例 摘要:本资源旨在对 C# 中的 new、abstract、virtual、override、sealed 关键字进行详细的解释和比较,并提供实践代码示例,以帮助...

    深入剖析C#继承机制

    **深入剖析C#继承机制** 在C#编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(称为子类或派生类)从另一个类(称为基类或父类)继承属性和方法。这使得代码复用变得更加简单,并且能够构建层次化的类...

    C# 继承 学习使用

    ### C#中的继承学习 #### 一、继承基础 在面向对象编程中,**继承**是一种重要的机制,它允许创建一个新类(称为派生类或子类),该类继承了现有类(称为基类或父类)的属性和行为。这种特性有助于代码的复用,...

    C#继承测试C#继承测试

    基类的方法若标记为`virtual`,子类可以使用`override`关键字重写该方法,从而提供不同的实现。 5. **接口继承**:除了类继承,C#还支持接口继承,一个类可以实现多个接口,这使得类可以具有多种行为,接口使用`:`...

    C#继承知识点

    C#的继承还涉及到方法的覆盖(Override)和隐藏(New)。当子类需要修改父类的方法实现时,可以使用`override`关键字。例如: ```csharp public class Animal { public virtual void Speak() { Console....

    C#继承学习实例

    在C#编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和方法,从而实现代码的重用和扩展。本教程针对在校学生等初学者,旨在通过实例深入理解C#中的...

    通过实例来剖析C#继承机制

    - **虚方法和重写**:父类的方法可以通过`virtual`关键字声明为虚方法,子类可以使用`override`关键字重写这些方法,实现自定义行为。 - **构造函数**:子类可以调用父类的构造函数(使用`base`关键字),以确保父类...

    C#中的继承案例代码

    在C#编程语言中,继承是面向对象编程的一个核心特性,它允许我们创建一个新类,这个新类可以从已存在的类派生,并继承其属性和方法。这样可以提高代码的重用性和可维护性,避免了重复编写相似的代码。在本资源中,...

    通过实例来剖析C#继承机制.rar

    在C#编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(基类或父类)继承属性和方法,从而实现代码的重用和扩展。本实例将深入剖析C#中的继承机制,帮助你更好地理解和应用这...

    C#中的继承C#中的继承C#中的继承

    在C#编程语言中,继承是面向对象编程(OOP)的一个核心概念,它允许一个类(称为子类或派生类)从另一个类(称为基类或父类)继承特性,包括方法、属性和字段。通过继承,我们可以创建一个类层次结构,使代码更加可...

    c#中的面向对象继承

    4. **密封类(Sealed)**:为了防止进一步的继承,C#提供了sealed关键字。密封类不能被其他类继承。 5. **虚方法与非虚方法**:虚方法(virtual)可以在基类中声明,允许子类重写。非虚方法不能被重写,除非在基类...

    详细介绍C#中的继承

    ### 详细介绍C#中的继承 #### 一、继承的类型 在C#中,继承是一种重要的面向对象编程机制,它允许我们定义一个类(派生类或子类),该类继承了另一个类(基类或父类)的特性。继承支持代码重用,并有助于构建更加...

    C#类继承.zip

    使用`sealed`关键字可以防止子类进一步继承,增加代码安全性和效率。 7. **接口**: 类可以实现一个或多个接口,接口使用`interface`关键字定义,提供了多继承的功能。接口中的所有成员默认为`public`和`abstract...

    Java和C#的比较

    Java默认的多态,C#要求加上virtual(被继承的方法)和override(继承的方法),而且C#要求不能改变原来的访问修饰符,不像Java那样,可以指定更加宽松的访问方式。 new关键字 C#中new关键字可以用来指定子类的...

    C#关于继承

    在C#编程语言中,继承是面向对象编程(OOP)的一个核心概念,它允许一个类(子类或派生类)从另一个类(基类或父类)中继承属性和方法,从而实现代码的复用和扩展。在这个主题中,“C#关于继承”涵盖了如何在C#中...

    11.5_ 接口与继承的实例,VS2008源代码

    6. **虚方法与重写**:演示如何通过virtual和override关键字实现方法的重写,以改变继承自基类的行为。 7. **密封类与密封方法**:介绍如何使用sealed关键字防止进一步的继承,以及如何用sealed修饰方法阻止重写。 ...

    C#中子类重写父类的方法

    正确使用`virtual`、`override`、`abstract`、`sealed`和`new`关键字,可以确保代码的灵活性和可维护性。在实际编程中,应根据需求选择合适的关键字,并注意避免隐藏父类方法,以保持代码的清晰和可预测性。

    我收集的面试题 C#

    - `Sealed`: 当一个类被声明为 `sealed` 时,它不能被其他类继承。这通常用于限制继承链,防止意外的继承行为。 - `Override`: 在子类中使用,用于重写父类中的 `virtual`、`abstract` 或已 `override` 的方法。这...

    C#面试题库

    9. **new、virtual、abstract、override和sealed的区别**: - `new`用于隐藏基类中的成员,或者实例化对象。 - `virtual`修饰符使成员可以在派生类中被重写。 - `abstract`用于声明抽象类或抽象成员,不提供具体...

    一起学C#:类的继承.rar

    在C#编程语言中,类的继承是面向对象编程的核心概念之一,它允许我们创建一个新类(子类或派生类),该类基于现有类(基类或父类)的功能,同时可以添加新的特性或扩展已有的功能。通过继承,我们可以重用代码,提高...

Global site tag (gtag.js) - Google Analytics