动态多态性

里氏替换原则的实现方法:子类可以出现在任何需要父类出现的地方


  动态多态性:
  1.虚方法的动态多态性
  2.抽象方法的动态多态性
  3.接口方法的动态多态性
  
  动态多态性的作用:
  1.实现”功能定义" 与 "功能实现" 相脱离,实现代码进一步灵活性

  2.实现"系统设计" 与 "系统代码" 相脱离,实现代码稳定性,减少系统BUG


using System;

namespace 动态多态性 {

	class Person {

		public virtual void Speak () {
			Console.WriteLine ("父类说!~");
		}
	}

	class Zhang : Person {

		public override void Speak () {
			Console.WriteLine ("张说!~");
		}
	}

	interface IPerson {
		void Speak ();
	}

	interface IPersonTwo {
		void Speak ();
	}

	class Chinese : IPerson,IPersonTwo {
		void IPerson.Speak () {
			Console.WriteLine ("中国人说中国话!~");
		}
		void IPersonTwo.Speak () {
			Console.WriteLine ("中国人还会说英语!~");
		}
	}


	class MainClass {

		public static void Main (string[] args) {
			// 动态多态性 - 虚方法
			//			Person p = new Zhang();
			//			p.Speak();

			//			Chinese cn = new Chinese ();
			// 动态多态性 - 接口
			IPerson ip = new Chinese ();
			ip.Speak ();

			IPersonTwo ip2 = new Chinese ();
			ip2.Speak ();
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值