`
CanBeatle
  • 浏览: 168756 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C#笔记(1)

    博客分类:
  • C#
阅读更多

 

、Virtual, override, abstract, new

 

      基类希望定义可以由子类重写的方法,必须指定 virtual 方法,子类重写的时候,必须使用 override 修饰该方法。

果希望防止派生类重写某个虚方法,可以使用 sealed 修饰:

class SalesPerson  :  Employee

{
   public override sealed void GiveBonus(float amout)
  { }
}

sealed Class PTSalesPerson  :  SalesPerson
{
   public override void GiveBonus(float amout)//error!
  { }
}
 

       如果需要防止创建类的对象,可以使用 abstract 关键字,抽象类的方法可以提供默认实现:

abstract class Shape
{
   public virtual void Draw()
   {   …..   }
}
 

       子类重写虚方法不是必须的,如果要强制每一个子类重写 Draw() 方法,可以使用 abstract 关键字将方法标记为抽象的。

public abstract class Shape
{
   public abstract void Draw();//不提供实现

}
 

        如果子类不重写抽象方法,该子类也必须定义成抽象类,抽象方法只能定义在抽象类中。

class  Circle
{
  public void Draw()
  {    ……  }
}

//Error

class ThreeDCircle : Circle
{
  public void Draw()
  {    ……  }
}
 

       这里有 Error ,因为子类和父类有相同的方法,可以有 2 中方法:使用 virtual override ,或者子类的方法加上

new 关键字,这时候表示子类完全是一个全新的方法,只不过名字相同而已。

public new void Draw()
{    ……  }

//注意

ThreeDCircle o = new ThreeDCircle();
o.Draw(); //子类
((Circle)o).Draw(); //强制调用基类
 

 

分享到:
评论

相关推荐

    Learning hard C# 学习笔记

    《Learning Hard C# 学习笔记》是一份深入浅出的C#编程教程,旨在帮助初学者快速掌握C#这门强大的编程语言。C#是由微软公司开发的一种面向对象的编程语言,广泛应用于Windows平台、游戏开发(尤其是Unity引擎)、...

    C# 课堂笔记 C# 课堂笔记

    这组"课堂笔记"涵盖了C#的核心概念和技术,旨在帮助学习者深入理解和掌握这门语言。屏幕截图的添加可能意味着笔记中包含了实际操作的步骤和可视化教程,这对于初学者来说是非常有用的补充。 首先,让我们探讨C#的...

    C#教程 C#笔记 C#高级 C#知识点.rar

    1. **C#基础知识** - **变量与数据类型**:包括基本的数据类型(如int, string, bool等)以及引用类型。理解它们的区别是编程的基础。 - **控制流**:如if条件语句、for和while循环,以及switch选择结构,是编写...

    C# 笔记本电池状态信息获取代码(VS.net)

    在C#编程中,获取笔记本电池状态信息是一个常见的任务,特别是在开发系统监控或者电源管理相关的应用时。这个任务可以通过调用Windows操作系统提供的Win32 API函数来实现。下面将详细介绍如何利用C#来获取电池状态,...

    c#笔记本(源码程序)

    1. **基础知识**:涵盖C#的基础语法,如变量、数据类型、控制流、函数等,这些都是构建任何程序的基础。 2. **面向对象编程**:讲解类、对象、继承、多态等概念,这是C#的核心特性,也是理解其强大之处的关键。 3. *...

    LearningHard C#学习笔记

    LearningHard C#学习笔记,学习C#的经典入门教材。 非常适合初学者,希望大家一起努力。

    初学者可以用得着的C#笔记

    这份C#笔记旨在帮助初学者快速掌握C#编程基础,逐步构建对面向对象编程的理解,同时通过实践操作提升编程技能。随着学习的深入,你可以进一步探索更高级的主题,如Asynchronous Programming、Dependency Injection和...

    笔记本(C#)

    1. **新建**:创建一个新的文本编辑器实例,可能包括初始化一个空白的文本控件或文件,供用户输入文本。 2. **打开**:加载已存在文本文件的内容到编辑器中,这通常涉及到使用`FileStream`或`StreamReader`类来读取...

    深度学习C#笔记.zip

    深度学习C#笔记深度学习C#笔记深度学习C#笔记深度学习C#笔记深度学习C#笔记

    C#学习阅读笔记

    C#学习阅读笔记 本笔记总结了 C# 语言的基本概念、特点和重要知识点。C# 是一种类型安全的语言,专门用于 .NET Framework,具有强数据类型和面向对象的编程特点。下面是笔记的主要内容: 一、C# 语言概述 * C# 是...

    C#-学习笔记

    1. **面向对象编程**:C#是基于面向对象的原则设计的,包括类、对象、接口、继承、多态和封装等概念。了解这些概念并能灵活运用是成为熟练C#开发者的基础。 2. **泛型**:C#的泛型允许你创建类型安全的容器,这样...

    Halcon联合C#打开笔记本的摄像头

    1. **安装Halcon和设置开发环境**: 在开始之前,确保已经安装了Halcon软件,并且在C#开发环境中(如Visual Studio)配置了Halcon的.NET组件。这通常涉及到添加Halcon的DLL引用到项目中,使得C#代码可以调用Halcon...

    C#学习笔记.docx

    ### C# 学习笔记 #### 标题解析 - **标题**:“C#学习笔记.docx” - 该文档主要记录了作者在学习C#过程中所做的笔记。 #### 描述解析 - **描述**:“学习时自己做的笔记,方便自己学习也分享给大家,做好笔记对于...

    c#笔记·1

    c#笔记·1,经典的入门材料

    C#笔记本程序代码实现过程

    1. **界面设计**:C#中的Windows Forms或WPF(Windows Presentation Foundation)可以用来创建用户界面。这包括设计窗口布局,添加控件如文本框(TextBox)用于显示和编辑文本,菜单栏(MenuStrip)用于放置打开、...

    C#基础笔记-汇总

    C#基础笔记-汇总 记录的笔记,简介 数据类型 超级长的例子 转

    C#学习资料和笔记收录工具

    标题 "C#学习资料和笔记收录工具" 涉及的核心知识点主要集中在C#编程语言的学习资源管理和笔记整理上。C#是一种面向对象的、现代的编程语言,由微软公司开发,广泛应用于Windows桌面应用、游戏开发、移动应用以及...

    Visual C#学习笔记光盘

    Visual C#学习笔记光盘 简介:本书由浅入深地讲解Visual C# 2005编程知识,全书内容分为6篇,共27章,第一篇介绍Visual Studio 2005开发环境和C#基础,其中包括Visual C# 2005简介,C#语言基础,面向对象编程...

    C#学习笔记......

    1. **C#语法基础**:C#是一种类型安全的、面向对象的编程语言,由微软公司为.NET Framework开发。基础语法包括变量声明、数据类型(如int、string、bool等)、运算符(算术、比较、逻辑等)、流程控制(条件语句、...

Global site tag (gtag.js) - Google Analytics