Java面向对象的三大特性之——多态
此目录衔接前面两篇
目录
- 3. 多态
- 3.1 含义
- 3.2 实现
- 3.2.1 操作名称的多态实例(方法重载)
- 3.2.2 和继承有关的多态实例(方法重写)
- 3.3 优点
- 3.4 缺点
3.1 含义
一种多态是操作名称的多态,即多个操作具有相同的名字(方法重载),但这些操作所接收的消息类型(参数)必须不同。例如叫一个人(同一个对象)执行 “求面积” 操作时,多态可以向操作传递不同的消息,如求 “矩形面积” 或 “梯形面积”(矩形传递宽高,梯形传递上下底和高),以便让对象根据相应的消息来产生相应的行为。
另一种多态是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为(子类重写父类中的方法)。例如,猫和狗都具有哺乳类的行为 “叫声”。但是,狗操作 “叫声” 产生的声音是 “汪汪…”,而猫操作“叫声”产生的声音是 “喵喵…”等。
————————————————
3.2 实现
3.2.1 操作名称的多态实例(也就是方法重载)
方法名相同 + 参数个数或者类型不同
3.2.2 和继承有关的多态实例(也就是方法重写)
继承 + 方法重写 + 父类的引用指向子类对象
3.3 优点
- 可替换(可以替代一存在的代码)
- 可扩充(增加的子类不会影响已存在的类的运行和操作)
- 灵活性,能够提高使用效率;
- 简化性(处理大量对象的运算和操作时,也很方便编写和修改)
3.4 缺点
- 只能使用父类的引用,访问父类的成员
大家有更好的方法,可以私信我哈;大家一块进步~