`
rorely
  • 浏览: 119855 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

C# 函数重载

阅读更多
方法重载,在C#中通过虚函数来实现,具体做法:现在父类中用virtual将其声明为虚函数,然后在子类中用override关键字来指定该函数为重载函数。重载函数必须具有父类函数中的参数个数,参数类型和返回类型。

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MethodOverride
{
    
public enum Genders { 
        Female
=0,
        Male
=1
    }
    
public class Person {
        
protected string _name;
        
protected int _age;
        
protected Genders _gender;
        
public Person() {
            
this._name = "default name";
            
this._age = 20;
            
this._gender = Genders.Male;
        }
        
public virtual void IntroduceMyself() {
            System.Console.WriteLine(
"introduce myself");
        }
    }

    
public class ChinesePerson : Person {
        
public ChinesePerson() : base() {
            
this._name = "default Chinese Name";            
        }
        
public override void IntroduceMyself()
        {
            System.Console.WriteLine(
"我叫{0},年龄{1},性别{2}",this._name,this._age,this._gender);
        }
    }

    
public class EnglishPerson : Person
    {
        
public EnglishPerson(): base()
        {
            
this._name = "default English Name";
        }
        
public override void IntroduceMyself()
        {
            System.Console.WriteLine(
"My Name is{0},my age is {1},my gender is {2}"this._name, this._age, this._gender);
        }
    }

    
class Program
    {
        
static void Main(string[] args)
        {
            Person aPerson 
= new Person();
            aPerson.IntroduceMyself();
            aPerson 
= new ChinesePerson();
            aPerson.IntroduceMyself();
            aPerson 
= new EnglishPerson();
            aPerson.IntroduceMyself();
            System.Console.ReadLine();
        }
    }
}

结果如下:
introduce myself
我叫default Chinese Name,年龄20,性别Male
My Name isdefault English Name,my age is 20,my gender is Male



分享到:
评论

相关推荐

    C# 函数重载 复数

    用函数重载的方法复数 ,而且代码实现了实部和虚部的分数运算。

    c sharp 中的函数重载

    在C#编程语言中,函数重载(Overload)是一种重要的多态性表现形式,它允许我们在同一个类或结构中定义多个同名但参数列表不同的方法。这种特性使得代码更加简洁,可读性更强,同时也提供了更灵活的调用方式。下面...

    C#函数篇 带源码

    函数重载是C#中另一个重要的特性,允许在同一个类中定义多个同名函数,只要它们的参数列表不同(数量、类型或顺序不同)。这是提高代码可读性和复用性的有效手段。 此外,C#还支持匿名函数和lambda表达式,它们通常...

    c#函数使用说明

    以下是对C#函数的一些详细说明: 1. **函数定义**: 在C#中,函数定义以`public`、`private`等访问修饰符开始,接着是返回类型,然后是函数名,最后是括号内的参数列表。例如: ```csharp public int Add(int a,...

    C++结构体/函数定义转换C#函数定义/结构体

    C++支持模板、运算符重载、指针等特性,而C#则更注重类型安全和垃圾回收。在转换过程中,我们需要关注以下几点: 1. **数据类型转换**: - C++的`int`在C#中可能是`int`或`System.Int32`,视具体平台和编译器而定...

    C#函数手冊级代码解析

    4. **重载**:C#允许函数重载,即同一个函数名可以对应多个不同的函数实现,只要它们的参数列表不同即可。 5. **匿名函数与Lambda表达式**:C# 3.0引入了Lambda表达式,使得可以创建无名函数,常用于 LINQ 查询和...

    ASP.NE函数的重载程序

    在ASP.NET中,C#和VB.NET都是支持函数重载的语言。以下以C#为例,展示如何实现函数重载: ```csharp public class MyClass { // 重载函数1,接受一个整数参数 public void MyFunction(int num) { // 实现1 } ...

    C#基本函数代码C#基本函数代码C#基本函数代码

    本篇将深入探讨C#中的基本函数代码,帮助你更好地理解和运用这些关键概念。 在C#中,函数是一种可重用的代码块,执行特定任务并可能返回一个值。函数可以分为两种主要类型:方法(Methods)和委托(Delegates)。...

    C#重载知识点

    public Person(string name) : this() { // 构造函数重载,传入Name Name = name; } public Person(string name, int age) : this(name) { // 再次重载,传入Name和Age Age = age; } } ``` 在这个例子中,`...

    C#函数实用手册 源代码.

    本手册中的源代码旨在帮助学习者深入理解C#函数的使用,从而加速C#的学习过程。 在C#中,函数是可重复使用的代码块,它们执行特定任务并可能返回结果。函数可以接受参数,这些参数在函数调用时传递数据,也可以有...

    c#课件 c#资料 C# j经典部分 精华部分 类,接口,继承 文件操作 操作符重载 代理 属性 放射 特征 使用线程 异常处理 函数重载 集合 数组

    10. **函数重载**:函数重载是指在同一个作用域内,用相同的函数名称但参数列表不同的函数,使得可以根据传入参数的不同调用合适的函数。 11. **集合**:C#中的`System.Collections`和`System.Collections.Generic`...

    C#构造函数的理解

    ### C#构造函数的理解 #### 一、构造函数的基本概念 构造函数是一种特殊的方法,用于初始化新创建的对象。...此外,构造函数还支持构造函数重载和调用基类构造函数等高级特性,使得类的设计更加灵活多样。

    一起学C#:构造函数和析构函数.rar

    在C#编程语言中,构造函数和析构函数是两个非常关键的概念,它们在对象生命周期管理中起到至关重要的作用。让我们深入探讨一下这两个概念及其在实际编程中的应用。 首先,构造函数是C#中用于初始化新创建对象的方法...

    c#.net函数和方法集

    在C# .NET编程语言中,...同时,理解和利用C#提供的高级特性,如方法重载、匿名函数、委托和异步编程,能够进一步提升代码质量。不断学习和实践,你将能够更好地驾驭C# .NET中的函数和方法,编写出高效、灵活的软件。

    c#用重载方法做的分数运算

    在C#编程语言中,重载方法是一种强大的特性,它允许我们在同一个类中定义多个具有相同名称但参数列表不同的方法。这些方法可以根据传入的参数类型或数量来选择调用哪个实现。在这个“c#用重载方法做的分数运算”的...

    c#函数方法,构造函数与析构函数

    C#支持构造函数重载,即一个类可以有多个构造函数,只要它们的参数列表不同即可。 ```csharp public class MyClass { public int i; public string s; public MyClass(int i) { this.i = i; Console.WriteLine...

    C#析构函数

    3. 析构函数的限制:C#中,一个类只能定义一个析构函数,而且析构函数不能被继承或重载,也不能被显式调用。析构函数中不能有参数和访问修饰符。 4. 析构函数与Finalize方法的关系:析构函数在内部被.NET运行时转换...

    C#中构造函数和析构函数的用法

    ### C#中构造函数和析构函数的深入解析 #### 构造函数与析构函数:C#中的生命期管理 在C#编程语言中,构造函数和析构函数是对象生命周期管理的关键部分,它们分别负责对象的初始化和清理工作。理解这两者的运作...

    C#函数方法集

    在C#编程语言中,函数方法是核心概念之一,它们...总结起来,C#函数方法集涵盖了从基本的函数定义到高级特性如方法重载、lambda表达式、委托、泛型等。掌握这些知识点将使你能够编写高效、可读性强且易于维护的C#代码。

    C#函数方法集.rar

    C#是一种广泛应用于开发Windows应用程序、Web应用以及游戏的面向对象的编程语言。它由微软公司于2000年推出,旨在提高软件...通过阅读"C#函数方法集.txt"文件,你将能更深入地了解这些概念,并在实际项目中灵活运用。

Global site tag (gtag.js) - Google Analytics