Day11多态部分-1 【1.1 多态的体现】
来源:互联网 发布:淘宝定制家具付款流程 编辑:程序博客网 时间:2024/06/05 09:49
【1.1 多态的体现】
多态的好处:提高了扩展性(提高代码的共用性);
1.定义:某一类事物的多种存在形态:
java语言中含有【方法重载】和【对象多态】两种形式的多态
猫 x = new 猫()
动物 x = new 猫()//new 猫()
来了一只真实的小猫 我说 这动物不错,
new 的这个实体既具备猫的类型,也具备动物的类型
但是有个前提,猫必须是动物的一种;
2.当类与类产生关系:
那么这个实体还具备其他类型,这个事物存在多种形态-->多态;
多态我们强调的是在java中,对象上的体现;
3.其实函数也具备多态性,重载,同一个名字,体现形态不一样
(方法的重载也是多态的一种);
- + -
api里面所有的类和接口关系都是
以面向对象的几大特征为开发基准的,不了解的话连api都看不到;
//这叫前期预先调用功能,后期定义子类去实现功能,并把子类作为参数,传递进来,实现了后期拓展性
public static void main(String[] args) {
Animal a1 =new Dog();//继承了动物,都是动物的一种,即是猫也是动物
Animal a2 =new Cat();
test(a1);//3.方法名,将对象a1传入
test(a2);//传入什么对象输出什么方法
Animal a3 =new Pig();//因为继承了父类,所以不用写重载方法,用回引用Animal的重载方法即可
test(a3);
//多态的好处:提高程序的拓展性
//这叫前期预先调用功能,后期定义子类去实现功能,并把子类作为参数,传递进来,实现了后期拓展性
public static void test(Animal sx){//1.Animal引用sx对象
sx.eat();//2.对象引用Animal的eat方法
}
}
abstract class Animal{//抽象的作用强制子类重写方法
abstract void eat();
}
class Cat extends Animal{
public void eat(){
System.out.println("吃鱼(重写Animal的eat方法)");
}
}
class Dog extends Animal{
public void eat(){
System.out.println("吃骨头(重写Animal的eat方法)");
}
}
//--------------百年后出现了另一种动物 猪
class Pig extends Animal{
public void eat() {
System.out.println("吃饲料(重写Animal的eat方法)");
}
public void gongdi(){
System.out.println("拱地");
}
}
多态的表现:一个对象在不同的状态下有多种形态:如你,对妻子来说你是丈夫,
对老师来说你是学生,对父母来说你是儿子,对老板来说你是员工多态比喻:事物的多种存在:猫是动物也叫猫,
其它有个名字叫小明,那么我叫它猫-动物-小明都三个名都是指它
- + -
- Day11多态部分-1 【1.1 多态的体现】
- Day11多态部分-2-1
- Day11多态部分-3
- Day11多态部分-4
- Day11多态部分-5
- Day11多态部分-2 【1.2 多态的前提】
- 多态的体现1
- Day11多态部分-6 【1.4 多态的应用以及注意事项】
- Day11多态部分-6 【1.5 多态的好处和弊端】
- Day11多态部分-6 【1.3 对象的向上转型和向下转型】
- JAVA多态的体现
- c++多态的一个简单体现
- 多态的体现好处特点
- Java多态的体现--转型
- 重载不是多态的体现形式
- Java多态的具体体现
- java多态的体现(theory)
- 体现多态好处的一个例子
- JavaScript 动画之链式运动
- redis学习---下
- Spring Boot+Intelli IDEA+Maven创建Hello World
- 总结(11.20-11.25)
- ARKit真机测试运行白屏崩溃,dyld:Library not loaded:@rpath.libswiftARKit.dylib
- Day11多态部分-1 【1.1 多态的体现】
- NOIP2017棋盘(普及T3)
- DP(二)2955 Robberies(java版)
- 计算1/1-1/2+1/3-...+1/99-1/100的值
- 654. Maximum Binary Tree
- HDU
- NOIP2017跳房子(普及T4)
- cmake: Enhanced source file handling with target_sources()
- 【Python基础】1.4.4 图形用户实例——用Python实现简易聊天对话框