面向对象的三大特征—多态
来源:互联网 发布:软件测试工程师自我介绍 编辑:程序博客网 时间:2024/05/22 00:38
一、多态:同一种引用类型,使用不同的实例而执行不同的操作。
二、使用多态实现的思路:
1编写父类
2编写子类,子类重写父类的方法。
3运行时,使用父类的类型,子类的对象。
注:向上转型(子类转换成父类)
Pet pet=new Dog();
向下转型,(强制转换)(父类转换成子类)
Dog dog=(Dog)pet
强制转换一般结合intanceof 结合使用,语法:对象 intanceof 类或接口。用来判断前面的是否属于后面的类型。一般用于子类所特有的方法时候,在测试类中需要调用这个子类特有的方法时候,需要强制转换。
三实现多态的两种形式
1使用父类作为方法形参实现多态。
2使用父类作为方法返回值实现多态。
四实现多态的好处
多态可以减少类中的代码量,可以提高代码的可扩展性和可维护性
一父类
public class Person {
public void show(){
System.out.println("******我是人类*******");
}
}
二子类男孩
public class Boys extends Person{
public void show(){
System.out.println("我是男孩");
}
public void play(){
System.out.println("我们很爱打游戏");
}
}
子类女孩
public class Girls extends Person {
public void show(){
System.out.println("我是女孩");
}
public void play(){
System.out.println("我们很爱逛街");
}
}
管理类:public class Manager {
public void showinformation(Person p){
if(p instanceof Boys){
Boys people=(Boys)p;
people.play();
}else if(p instanceof Girls){
Girls people =(Girls)p;
people.play();
}
}
注:父类作为方法的参数实现多态
public Person getInformation(int num){
Person p1=null;
if(num==1){
p1=new Boys();
p1.show();
}else if(num==2){
p1=new Girls();
p1.show();
}
return p1;
}
注:父类作为方法的返回值实现多态
public Person getInformation(int num){
Person p1=null;
if(num==1){
p1=new Boys();
p1.show();
}else if(num==2){
p1=new Girls();
p1.show();
}
return p1;
}
测试类
public static void main(String[]args){
Manager you=new Manager();
Person p=new Girls();
you.showinformation( p);
Person ty =you.getInformation(1);
}
阅读全文
0 0
- Java面向对象的三大特征——多态
- 面向对象的三大特征—多态
- 面向对象编程的三大特征
- 面向对象的三大特征
- 面向对象的三大特征
- 面向对象的三大特征
- 面向对象程序设计的三大特征
- 面向对象的三大特征
- java面向对象的三大特征
- Java面向对象的三大特征
- 面向对象的三大特征
- 05--面向对象的三大特征
- 面向对象的三大特征
- oc面向对象的三大特征
- 面向对象的三大特征
- 面向对象的三大特征
- java面向对象的三大特征
- java面向对象的三大特征
- 防护篇(5.4) 03. 防范 DDoS 攻击 ❀ 飞塔 (Fortinet) 防火墙
- React学习(三)数组变量
- Set集合笔记
- 设计模式原则(1):单一职责原则
- MYSQL的双主模型(主主复制)
- 面向对象的三大特征—多态
- 性能百万/s:腾讯轻量级全局流控方案详解
- Android TabLayout 使用详解
- ajax _beforeSend--防止重复数据
- 面向对象——内部类(1)
- oracle 常用数据类型及表的创建及使用
- Java_基础—LinkedHashMap的概述和使用
- 1011. World Cup Betting (20)
- 汉诺塔问题递归算法分析