C#的面向对象特性之多态
using System;
using System.Collections;
using System.Collections.Generic; namespace codeTest
{ class Program
{
static void Main(string[] args)
{
// C#的静态多态主要是通过overload来实现,主要有方法的重载和运算符的重载
A _A1 = new A() { number = };
A _A2 = new A() { number = };
_A1.SaidHello();
_A1.SaidHello(" World");
Console.WriteLine((_A1 + _A2).number); //C# 的动态多态主要通过 override 重写来实现
Human _humman1 = new Man();
Human _humman2 = new Woman();
_humman1.Run();
_humman2.Run();
Console.ReadLine(); } } class A
{
public int number { get; set; } public static A operator +(A a1, A a2)
{
A sum = new A();
sum.number = a1.number + a2.number;
return sum;
} public void SaidHello()
{
Console.WriteLine("Hello");
} public void SaidHello(string toWho)
{
Console.WriteLine(string.Format("Hello {0}", toWho));
}
} class Human
{
public virtual void Run()
{
Console.WriteLine("human Run!");
}
} class Man : Human
{
public override void Run()
{
Console.WriteLine("Man Run!");
}
} class Woman : Human
{
public override void Run()
{
Console.WriteLine("Woman Run!");
}
}
}
C#的面向对象特性之多态的更多相关文章
- .NET面向对象特性之多态
.NET面向对象特性之多态 前言 上一篇总结了面向对象三大特性之一的继承,再接再厉,这一章继续总结多态.同时把继承中涉及到多态的内容进一步补充扩展.可以说“继承”是多态的根基.但继承主要关注的是“共通 ...
- oc面向对象特性: 多态
多态:不同对象以自己的方式响应相同的消息的能力叫做多态. 多态的主要好处就是简化了编程接口.在类与类之间可以重复命名. 下面的例子是一个彩色打印机和黑白打印机这两种打印机,然后Person类中有一 ...
- .NET面向对象特性之“继承”
整体简介 1.理解继承——继承关系图 2.实现继承与接口多继承 3.new. virtual.override方法 4.抽象方法和抽象类的继承 5.继承的本质 6.继承的复用性.扩展性和安全性 7.多 ...
- 【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态
一.简介 Lua是一门非常强大.非常灵活的脚本语言,自它从发明以来,无数的游戏使用了Lua作为开发语言.但是作为一款脚本语言,Lua也有着自己的不足,那就是它本身并没有提供面向对象的特性,而游戏开发是 ...
- 3.java面向对象编程三大特性之多态
面向对象编程的三大特性:封装.继承.多态 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对类的外部而言它的内部实现细节是隐藏的,暴露给外界的只是它的实现方法. ...
- Java基础-面向对象第三大特性之多态(polymorphism)
Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...
- Java语言中的面向对象特性:封装、继承、多态,面向对象的基本思想(总结得不错)
Java语言中的面向对象特性(总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知道jav ...
- Java学习笔记二十五:Java面向对象的三大特性之多态
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
- 【转载】【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态
[游戏开发]在Lua中实现面向对象特性——模拟类.继承.多态 阅读目录 一.简介 二.前提知识 三.Lua中实现类.继承.多态 四.总结 回到顶部 一.简介 Lua是一门非常强大.非常灵活的脚本语 ...
随机推荐
- Linux使用手册-vi使用手册
vi使用手册 VI是unix上最常用的文本编辑工具,作为unix软件测试人员,有必要熟练掌握它. 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filen ...
- ClearCanvas DICOM 开发系列 一
概述 C#开源的DICOM server.支持影像处理.影像归档.影像管理.影像传输和影像浏览功能.开源代码可学习地方很多. 官方网站:http://www.clearcanvas.ca buildi ...
- Linux查看硬盘型号
Linux查看硬盘型号 -- :: 分类: 服务器与存储 请先确定服务器是否有配 RAID. 如果有RAID,请通过对应的RAID管理(监控)工具查看,例如LSI的MegaCli: # /opt/Me ...
- c语言——gcc,make,vim
在linux环境下进行c语言编程,基础的工具就是gcc和make.关于这2个工具的内容有很多,现在要做的仅仅是起步. gcc的用法: -S Compile only; do not assemble ...
- 【架构】linkerd:来自Twitter为微服务而生的开源RPC解决方案
大家要如何以规模化方式运维微服务应用程序?实践当中会出现哪些问题,我们又该如何加以解决?在大规模与非预测性工作负载场景当中,我们需要满足哪些条件才能运行一款大型微服务应用程序,而又能够确保不必受到功能 ...
- nginx server中的server_name配置的域名在客户机上无法访问
nginx配置如下: nginx.conf: #user nobody; worker_processes 2; #error_log logs/error.log; #error_log logs/ ...
- Unity3d《Shader篇》自定义光照模型
一.理论 公式1:被光照的物体最终所呈现的颜色公式 最终颜色=材质颜色*发光颜色 公式2:材质颜色 tex2D(_MainTex,uv) 公式3:光照颜色 光照颜色=自发光+环境光+漫反射+镜面反射 ...
- Java for LeetCode 223 Rectangle Area
Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defined b ...
- ASM:《X86汇编语言-从实模式到保护模式》第13章:保护模式下内核的加载,程序的动态加载和执行
★PART1:32位保护模式下内核简易模型 1. 内核的结构,功能和加载 每个内核的主引导程序都会有所不同,因为内核都会有不同的结构.有时候主引导程序的一些段和内核段是可以共用的(事实上加载完内核以后 ...
- HTML DOM scale() 方法
语法 scale(sx, sy) 参数 参数 描述 sx, sy 水平和垂直的缩放因子. 描述 scale() 方法为画布的当前变换矩阵添加一个缩放变换.缩放通过独立的水平和垂直缩放因子来完成.例如, ...