c#面向对象特征(2)之多态
来源:互联网 发布:南京凶宅数据库 编辑:程序博客网 时间:2024/05/21 16:22
//c#的静态多态是指在编译的时候就实现了多态,动态多态是在执行时才知道的。
以下是静态多态
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
PrintHello();
PrintHello("world");
//检测加法运算符的重载
Complex c1 = new Complex();
Complex c2 = new Complex();
c1.Number = 2;
c2.Number = 3;
Console.WriteLine((c1+c2).Number);
Console.ReadLine();
}
//c#的静态多态是指在编译的时候就实现了多态,动态多态是在执行时才知道的
//方法的重载
public static void PrintHello()
{
Console.WriteLine("Hello");
}
public static void PrintHello(string toWho)
{
Console.WriteLine("Hello {0}", toWho);
}
}
//运算符的重载
class Complex {
public int Number { get; set; }
public static Complex operator +(Complex c1, Complex c2) {
Complex c = new Complex();
c.Number = c1.Number + c2.Number;
return c;
}
}
}
2.动态多态
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
//通过重写实现多态
Human human1 = new Man();
Human human2 = new Woman();
human1.CleanRoom();//输出Man的效果
human2.CleanRoom();//输出Woman的效果
//重写class Complex中的tostring方法
Complex c = new Complex();
c.Number = 10;
Console.WriteLine(c);//WriteLine方法直接调用tostring方法
Console.ReadLine();
}
}
//以下类是通过《重写》来实现动态多态
class Human {
public virtual void CleanRoom()
{
Console.WriteLine("Human clean room!");
}
}
class Man :Human{
public override void CleanRoom()
{
Console.WriteLine("Man clean room!");
}
}
class Woman : Human
{
public override void CleanRoom()
{
Console.WriteLine("Woman clean room!");
}
}
class Complex {
public int Number { get; set; }
//重写tostring方法:可以实现自己各种想要的功能,这里是实现将数字打印的功能。
public override string ToString()
{
return Number.ToString();
}
}
}
0 0
- c#面向对象特征(2)之多态
- 面向对象特征之多态
- 面向对象三大特征之多态
- 0811 Java面向对象特征之多态
- C#面向对象之多态
- C# 面向对象之多态
- 黑马程序员-C#面向对象之多态
- java面向对象三大特征之多态
- 面向对象在javascript中的三大特征之多态
- 第三十一、Java面向对象三大特征之多态
- Java面向对象三大特征之多态
- Java面向对象三大特征之多态
- 面向对象之多态
- 面向对象之多态
- 面向对象之多态
- 面向对象之多态
- 面向对象之多态
- 面向对象之多态
- 解决VMware下64位Linux系统不支持全虚拟化(VMX)
- android--fragment的使用
- Web容器启动时加载Spring分析
- 安卓获取版本号
- Android SDK Manager目录解析
- c#面向对象特征(2)之多态
- 有一篇文章,共三行文字,每行有最多80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格及其他字符
- 10 款最佳剪贴板管理器
- C语言数据输入与输出
- cocos2d结合cocostudio适配
- 字符串操作
- 14.1.1 InnoDB as the Default MySQL Storage Engine
- 怎样用iMindMap流程图来提高团队合作
- leetcode1