Thinking in Java(6)-combinning composition and inheritance
来源:互联网 发布:cda数据分析师证书考试 编辑:程序博客网 时间:2024/05/30 05:17
一个结合composition 和inheritance的简单例子:
class Plate { Plate(int i) { System.out.println("Plate constructor"); }}class DinnerPlate extends Plate { DinnerPlate(int i) { super(i); System.out.println("DinnerPlate constructor"); }}class Utensil { Utensil(int i) { System.out.println("Utensil constructor"); }}class Spoon extends Utensil { Spoon (int i) { super(i); System.out.println("Spoon constructor"); }}class Fork extends Utensil { Fork(int i){ super(i); System.out.println("Fork constructor"); }}class Knife extends Utensil { Knife(int i){ super(i); System.out.println("Knife constructor"); }}class Custom { Custom(int i) { System.out.println("Custom constructor"); }}public class PlaceSetting extends Custom { private Spoon sp; private Fork frk; private Knife kn; private DinnerPlate pl;public PlaceSetting(int i) { super(i + 1); sp = new Spoon(i + 2); frk = new Fork(i + 3); kn = new Knife(i + 4); pl = new DinnerPlate(i + 5); System.out.println("PlaceSetting constructor"); } public static void main(String[] args) { PlaceSetting x = new PlaceSetting(1); }}
要注意,子类中的构造函数应该在基类的构造函数之后调用。
运行结果为:
Custom constructorUtensil constructorSpoon constructorUtensil constructorFork constructorUtensil constructorKnife constructorPlate constructorDinnerPlate constructorPlaceSetting constructor
1 0
- Thinking in Java(6)-combinning composition and inheritance
- thinking in java(V)--composition and inheritance
- Multiple Inheritance in Java and Composition vs Inheritance
- Thinking in Java(8)-inheritance and cleanup
- Chapter 6:Inheritance and Composition
- Java-Choose between Composition and Inheritance
- How to use composition and inheritance in visual c# ?
- Inheritance & Composition
- thinking in java(III)--initialization and cleanup
- Thinking in java (RTTI And Reflection)
- Thinking in Java(9)-closures and callbacks
- Default Methods in Java 8 and Multiple Inheritance
- 老调重弹 Composition versus Inheritance
- Inheritance VS Composition
- Favor composition over inheritance
- Inheritance vs Composition
- Inheritance in Java
- Prototypes and Inheritance in JavaScript
- ASP.net 请求URL过长问题处理
- CSS3 基础(005_2D 变换)
- 2行代码启动webrtc turn服务器
- Sql 时间计算
- MySQL编程-内置函数
- Thinking in Java(6)-combinning composition and inheritance
- 手动删除Android 系统应用
- linux虚拟机配置固定IP
- GBDT(MART) 迭代决策树入门教程 | 简介
- Codeforces Round #378 (Div. 2)D(MAP)
- JavaScript的三种消息框alert,confirm,prompt
- 我的高级工程师之路线图
- Java 容器类List学习总结
- rsync