C#的多态特性
来源:互联网 发布:mac如何玩qq游戏 编辑:程序博客网 时间:2024/06/13 01:48
多态是面向对象三大特性之一
什么是多态呢?
多态就是让一个对象表现出多种状态(类型);
什么是多种状态?
多种状态就是能够实现多种功能,比如说一个人他专长原子弹,但是他也会吃饭,睡觉等基本技能,而这些基本技能就可以相当于他在实现这些技能时的多种状态,因此多态是需要建立在继承之上的;
那么实现多态有什么好处呢?
1、减少代码冗余;
2、增强了程序的可扩展性;
那么怎么才能够实现多态的呢?
1、虚方法;
2、抽象类;
3、接口;
怎样使用虚方法实现多态?
1、使用关键字Virtual对父类所需要被继承的方法进行修饰,表示这个方法为虚方法,能够被子类重写;
2、子类重写被Virtual修饰的方法,并在重写的方法返回值前加上override;
虚方法常用于父类拥有自己的独特行为或者父类需要被实例化的情况;
那么当父类的行为不明确应该怎么实现多态呢?
这时就需要使用抽象类去实现多态了;
1、抽象类是被abstract关键字修饰的,抽象类既可以有抽象成员也可以有非抽象成员;
2、子类继承了抽象类就必须要重写父类中所有的抽象成员,所以抽象类中的抽象成员访问权限不能为private;
3、抽象方法是不能够被实现的(就是说,抽象方法不能够有方法体);
当一个子类需要同时拥有多个父类中的方法,但是继承具有单根性,那怎么办呢?
此时就需要使用接口去让子类去实现,使用接口去实现多态;
1、接口是被interface关键字修饰的,接口成员的默认修饰符是public;
2、子类实现一个接口就必须实现这个接口中的所有成员(注意不是重写,不需要有override,是单纯的将方法实现);
3、接口中的方法不能够有方法体,方法仅有返回值类型,方法名,参数列表;
4、实现接口中的成员分为普通实现和显式实现,后者用于解决方法的重名问题,显示实现就是在子类中进行如下语法的实现: 返回值类型 接口名.接口方法(){}, 普通实现就是将接口中的方法写出方法体就行了;
通过以上三种方法就能够基本上实现各种情况的多态~
- C#的多态特性
- C#中的多态特性
- C#2.0的特性
- C#2.0的特性
- C#继承的特性
- C#反射的特性
- C#的继承特性
- C#特性的分类
- 多态的特性
- C# 3.0新的特性
- c#3.5的新特性
- C#4.0的新特性
- C#2.0的新特性
- C#3.0的新特性
- C#2.0的新特性
- C#3.0的新特性
- c# string的只读特性
- C# 4.0 的新增特性
- string机制
- 计算机网络面试题
- nginx并发模型与traffic_server并发模型简单比较
- hihoCoder 1127 二分图三·二分图最小点覆盖和最大独立集
- Kafka 学习笔记(十一)关于Partition
- C#的多态特性
- 在界面上方便的隐藏textfield
- 2 拉格朗日对偶(Lagrange duality)
- Sublime Text2两款漂亮的主题皮肤安装与切换使用方法
- ORACLE RAC工作原理
- android.os.NetworkOnMainThreadException的解决方案
- 南邮 OJ 1076 机器狗组装费用
- Nginx负载均衡和LVS负载均衡的比较分析
- 关于IDataReader的释放