- 浏览: 119855 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ulric:
第一个函数的for循环应该从0开始
判断一个字符串是否为回文 -
ocaicai:
c语言的影子比较重啊!呵呵O(∩_∩)O~
java实现约瑟夫环问题 -
烟的傀儡:
通俗易懂!!太棒了
java实现约瑟夫环问题 -
eachcan:
中等什么意思?非常小是多大?写文章请负点责任。
基础知识:MySQL数据类型及列类型 (1) -
rorely:
谢谢,少加了一个条件。呵呵。更正好了
编程实现“加3减3乘3除3”
方法重载,在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
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
发表评论
-
程序结构--the beginning of learning CSharp
2009-10-25 14:46 0属性文件夹Properties 引用文件夹:提供项目中引用到的 ... -
C# 各种数据类型的最大值和最小值常数
2009-10-25 16:01 0<!--<br /> <br /> ... -
foreach遍历数组元素
2009-10-25 16:22 0<!--<br /> <br /> ... -
C# 类属性的访问器,get与set的定义
2009-10-25 18:50 0<!--<br /> <br /> ... -
C# 类属性的访问器,get与set传统做法,同java
2009-10-25 18:52 0<!--<br /> <br /> ... -
C#类索引器的使用
2009-10-25 22:51 0<!--<br /> <br /> ... -
静态成员
2009-10-25 23:13 0静态成员通过点运算符来访问,但是不能通过对象访问,只能通过类名 ... -
继承,用冒号实现
2009-10-25 23:33 0■构造顺序:子类对象在创建时,构造函数的调用顺序是:首先调用父 ... -
C# 函数重载
2009-10-26 14:07 0方法重载,在C#中通过虚函数来实现,具体做法:现在父类中用vi ... -
C# 函数覆盖
2009-10-26 15:57 0覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数。 一个 ... -
C#函数委托
2009-10-26 15:59 0委托是一种动态调用函数的方式,通过委托可以将一些相同类型的函数 ... -
C#事件
2009-10-26 16:31 0■事件:事件是一种函数回调机制,它通过委托来实现函数回调。 使 ... -
C# 接口
2009-10-26 18:21 0■接口:使用关键字inte ... -
C#异常
2009-10-26 18:47 0<!--<br /> <br /> ... -
异常类Exception
2009-10-26 19:06 0<!--<br /> <br /> ... -
C# 匿名类的定义
2009-10-26 20:00 0■匿名类:匿名类用来表示临时使用的只读数据,所以必须在创建时初 ... -
程序结构--the beginning of learning CSharp
2009-10-25 14:46 500属性文件夹Properties 引用文件夹:提供项目中引用到的 ... -
C# 各种数据类型的最大值和最小值常数
2009-10-25 16:01 2849<!--<br /> <br /> ... -
foreach遍历数组元素
2009-10-25 16:22 747<!--<br /> <br /> ... -
C# 类属性的访问器,get与set的定义
2009-10-25 18:50 1642<!--<br /> <br /> ...
相关推荐
用函数重载的方法复数 ,而且代码实现了实部和虚部的分数运算。
在C#编程语言中,函数重载(Overload)是一种重要的多态性表现形式,它允许我们在同一个类或结构中定义多个同名但参数列表不同的方法。这种特性使得代码更加简洁,可读性更强,同时也提供了更灵活的调用方式。下面...
函数重载是C#中另一个重要的特性,允许在同一个类中定义多个同名函数,只要它们的参数列表不同(数量、类型或顺序不同)。这是提高代码可读性和复用性的有效手段。 此外,C#还支持匿名函数和lambda表达式,它们通常...
以下是对C#函数的一些详细说明: 1. **函数定义**: 在C#中,函数定义以`public`、`private`等访问修饰符开始,接着是返回类型,然后是函数名,最后是括号内的参数列表。例如: ```csharp public int Add(int a,...
C++支持模板、运算符重载、指针等特性,而C#则更注重类型安全和垃圾回收。在转换过程中,我们需要关注以下几点: 1. **数据类型转换**: - C++的`int`在C#中可能是`int`或`System.Int32`,视具体平台和编译器而定...
4. **重载**:C#允许函数重载,即同一个函数名可以对应多个不同的函数实现,只要它们的参数列表不同即可。 5. **匿名函数与Lambda表达式**:C# 3.0引入了Lambda表达式,使得可以创建无名函数,常用于 LINQ 查询和...
在ASP.NET中,C#和VB.NET都是支持函数重载的语言。以下以C#为例,展示如何实现函数重载: ```csharp public class MyClass { // 重载函数1,接受一个整数参数 public void MyFunction(int num) { // 实现1 } ...
本篇将深入探讨C#中的基本函数代码,帮助你更好地理解和运用这些关键概念。 在C#中,函数是一种可重用的代码块,执行特定任务并可能返回一个值。函数可以分为两种主要类型:方法(Methods)和委托(Delegates)。...
public Person(string name) : this() { // 构造函数重载,传入Name Name = name; } public Person(string name, int age) : this(name) { // 再次重载,传入Name和Age Age = age; } } ``` 在这个例子中,`...
本手册中的源代码旨在帮助学习者深入理解C#函数的使用,从而加速C#的学习过程。 在C#中,函数是可重复使用的代码块,它们执行特定任务并可能返回结果。函数可以接受参数,这些参数在函数调用时传递数据,也可以有...
10. **函数重载**:函数重载是指在同一个作用域内,用相同的函数名称但参数列表不同的函数,使得可以根据传入参数的不同调用合适的函数。 11. **集合**:C#中的`System.Collections`和`System.Collections.Generic`...
### C#构造函数的理解 #### 一、构造函数的基本概念 构造函数是一种特殊的方法,用于初始化新创建的对象。...此外,构造函数还支持构造函数重载和调用基类构造函数等高级特性,使得类的设计更加灵活多样。
在C#编程语言中,构造函数和析构函数是两个非常关键的概念,它们在对象生命周期管理中起到至关重要的作用。让我们深入探讨一下这两个概念及其在实际编程中的应用。 首先,构造函数是C#中用于初始化新创建对象的方法...
在C# .NET编程语言中,...同时,理解和利用C#提供的高级特性,如方法重载、匿名函数、委托和异步编程,能够进一步提升代码质量。不断学习和实践,你将能够更好地驾驭C# .NET中的函数和方法,编写出高效、灵活的软件。
在C#编程语言中,重载方法是一种强大的特性,它允许我们在同一个类中定义多个具有相同名称但参数列表不同的方法。这些方法可以根据传入的参数类型或数量来选择调用哪个实现。在这个“c#用重载方法做的分数运算”的...
C#支持构造函数重载,即一个类可以有多个构造函数,只要它们的参数列表不同即可。 ```csharp public class MyClass { public int i; public string s; public MyClass(int i) { this.i = i; Console.WriteLine...
3. 析构函数的限制:C#中,一个类只能定义一个析构函数,而且析构函数不能被继承或重载,也不能被显式调用。析构函数中不能有参数和访问修饰符。 4. 析构函数与Finalize方法的关系:析构函数在内部被.NET运行时转换...
### C#中构造函数和析构函数的深入解析 #### 构造函数与析构函数:C#中的生命期管理 在C#编程语言中,构造函数和析构函数是对象生命周期管理的关键部分,它们分别负责对象的初始化和清理工作。理解这两者的运作...
在C#编程语言中,函数方法是核心概念之一,它们...总结起来,C#函数方法集涵盖了从基本的函数定义到高级特性如方法重载、lambda表达式、委托、泛型等。掌握这些知识点将使你能够编写高效、可读性强且易于维护的C#代码。
C#是一种广泛应用于开发Windows应用程序、Web应用以及游戏的面向对象的编程语言。它由微软公司于2000年推出,旨在提高软件...通过阅读"C#函数方法集.txt"文件,你将能更深入地了解这些概念,并在实际项目中灵活运用。