【笔记】《C#大学教程》- 第10章 面向对象编程:多态性
来源:互联网 发布:ps软件官方免费版 编辑:程序博客网 时间:2024/05/21 22:46
1.类型转换:
ParentClass a = new ChildClass();ChildClass c = (ChildClass) a;ParenClass b = new ParentClass();//falseb is ChildClass;
2.定义抽象类和抽象方法:
(1).只有在抽象类中才能定义抽象方法;
(2).无法实例化抽象类;
(3).抽象方法必须在子类中被覆盖;
(4).可以在抽象类中定义虚函数(不一定要被子类覆盖的virtual函数)。
public abstract class Shape{ public virtual double Area() { return 0; } public virtual double Volume() { return 0; } public abstract double Func(); public abstract string Name { get; }}
(1). 接口不包含构造函数,方法不包含实现;
(2). 接口中的所有属性和方法都必须在类实现中被定义;
(3). 接口只能声明为public;
public interface IShape{ double Area(); double Volume(); string Name { get; }}
public class Point:IShape{ public Point () { } public virtual double Area() { return 0; } public virtual double Volume() { return 0; } public virtual string Name { get { return "Point"; } }}
4.委托:
C#不允许将方法引用作为参数,而是通过一个创建委托。
namespace TestDelegate{ class Program { private delegate bool Comparator(int a, int b); private static void Func(Comparator Comp) { MessageBox.Show(Comp(1,2).ToString()); } private static bool Compare(int a, int b) { return a < b; } static void Main(string[] args) { Func(new Comparator(Compare)); } }}
5.重载运算符:
public static ComplexNumber operator + ( ComplexNumber x, ComplexNumber y ){ return new ComplexNumber( x.Real + y.Real, x.Imaginary + y.Imaginary);}
0 0
- 【笔记】《C#大学教程》- 第10章 面向对象编程:多态性
- 【笔记】《C#大学教程》- 第9章 面向对象编程:继承
- 【笔记】《C#大学教程》- 第3章 C#编程介绍
- 【笔记】《C#大学教程》- 第8章 基于对象的编程
- 面向对象编程,多态性
- 面向对象编程---多态性
- 【笔记】《C#大学教程》- 第4章 控制结构
- 【笔记】《C#大学教程》- 第6章 方法
- 【笔记】《C#大学教程》- 第7章 数组
- 【笔记】《C#大学教程》- 第11章 异常处理
- 【笔记】《C#大学教程》- 第12章 GUI(一)
- 【笔记】《C#大学教程》- 第12章 GUI(二)
- 【笔记】《C#大学教程》- 第14章 多线程
- Java面向对象编程-第10章学习笔记
- Kotlin极简教程:第7章 面向对象编程
- 《Groovy极简教程》第10章 Groovy面向对象编程(OOP)
- c#面向对象系列2(多态性)
- Java面向对象编程-第1章学习笔记
- 联动 点击单选框动态生成option
- Android内存泄漏终极解决篇
- PHP sesion_start()或者session_regenerate_id()提示Cannot regenerate session id - headers already sent in
- JavaWeb 编程积累
- iOS Provisioning Profile(Certificate)与Code Signing详解
- 【笔记】《C#大学教程》- 第10章 面向对象编程:多态性
- POJ 1375 圆切线
- 黑客榜中榜 三期 解题思路
- iOS 设置状态栏字体颜色为白色
- mysql 存储过程
- 面试感悟:3年工作经验程序员应有的技能
- ADO接口之_ConnectionPtr
- (一)boost库之日期、时间
- JavaScript高级程序设计学习笔记--事件(一)(事件流、事件处理程序/事件侦听器)