Java day6【第十六章】多态性

【第十六章】多态性

 一.多态性简介

    多态性是面向对象中的第三个主要特征,多态性是在继承性的基础之上扩展出来的概念

    可以实现父子类的相互转换处理

   1.多态性的基本概念:

  在JAVA之中,多态性有俩种实现模式:

  (1)方法多态性:

    方法的重载:同一个方法的名称可以根据传入的参数类型或个数的不同,实现不同功能的执行

class chongzai{
	public void print(){
		System.out.println("www.mldn.con");
	}
	public void print(String str){
		System.out.println(str);
	}
}

 方法的覆写:同一个方法可能根据子类使用的不同来实现不同的功能。

class Message{
	public void print(){
		System.out.println("www.mldn.con");
	}
}
class DateMessage extends Message{
	public void print(){
		System.out.println("Oracle数据库连接信息。。");
	}
}
class NetworkMessage extends Message{
	public void print(){
		System.out.println("网络连接数据信息。。");
	}
}

  

 (2)对象多态性

  父子实例之间的转换处理,他有俩种模式:

    对象向上转型:父类 父类实例 = 子类实例;这种模式是自动完成转换

    对象向下转型:子类 子类实例= (子类)父类实例;强制完成转换

  从实际的转型处理来讲,大部分情况下考虑最多的一定是对象的向上转型(90%),对于对象的向下转型往往都在使用子类特殊功能的时候(3%),还有一些时候是不会考虑转型的(7%)

  上转型对象会失去原对象的一些属性和方法。(向上转型对象相当于子类对象的一个简化版)。

  比如动物是父类,老虎是子类,那么当我们说老虎是动物的时候,老虎就失去了老虎本来拥有的一些特征,向上更宽的范围定义。

 

猜你喜欢

转载自www.cnblogs.com/xiwenxinaini/p/11696487.html
今日推荐