目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7094.9k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(9.4k)
赞(0)

继承和组合

image-20220210181051823

结婚就是一种组合。两人组合后,可以复用对方的属性和方法!

除了继承,“组合”也能实现代码的复用!“组合”核心是“将父类对象作为子类的属性”。

【示例】之前继承的代码用组合重新实现

组合比较灵活。继承只能有一个父类,但是组合可以有多个属性。所以,有人声称“组合优于继承,开发中可以不用继承”,但是,不建议大家走极端。

对于is -a关系建议使用继承,has-a关系建议使用组合。

比如:上面的例子,Student is a Person这个逻辑没问题,但是:Student has a Person就有问题了。这时候,显然继承关系比较合适。

再比如:笔记本和芯片的关系显然是has-a关系,使用组合更好。

本节作业

  1. 面向对象的三大特征是什么?
  2. 继承的两个主要作用是什么?
  3. JAVA中实现继承是哪个关键词?
  4. JAVA中的类继承,是单继承还是多继承?JAVA中其他地方有多继承吗?
  5. 子类继承父类可以获得除父类构造方法之外的所有,但不见得都能使用。找现实中的例子打比喻描述这个现象。
  6. 定义类时,没有使用extends,他的父类是什么?
  7. 完成课堂中,Person、Student继承关系的代码测试。
  8. 完成课堂中,Person、Student组合关系的代码测试。
  9. 组合和继承的关系如何理解?
  10. 完成课堂中,方法重写的测试。
  11. 方法重写和方法重载什么区别?
  12. final关键字修饰变量、方法、类,都分别代表什么含义?

实时效果反馈

1. 继承和组合的说法,错误的是:

A 继承和组合,都可以实现代码的复用

B “组合”核心是“将父类对象作为子类的属性”。

C 组合任何时候都好于继承,完全可以替换继承!

D 对于is -a关系建议使用继承,has-a关系建议使用组合。

答案

1=>C

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2