初探Java装饰者模式和继承模式
来源:互联网 发布:淘宝主图背景 编辑:程序博客网 时间:2024/06/03 09:26
/** * Created by al-wl228081 on 2017/8/10. *///定义人类public class PersonDemo { public static void main(String[] args){ Person p = new Person();//创建一个人 p.chifan();//调用吃饭的功能 NewPerson p1 = new NewPerson(new Person());//创建一个新人类 p1.chifan();//调用新人类的吃饭功能 NewPeson2 p2 = new NewPeson2(); p2.chifan();//调用新人2的吃饭功能 }public static class Person{ void chifan(){ System.out.println("吃饭"); } }public static class NewPerson {//方法一、创建新人类,采用装饰模式 private Person p1; NewPerson(Person p){ this.p1 = p; } void chifan(){ System.out.println("开胃酒"); p1.chifan();//此时的吃饭相当于是自己的方法 System.out.println("唱戏"); } }public static class NewPeson2 extends Person{//方法二、继承的方法 public void chifan(){//重写父类的chifan方法 System.out.println("开胃酒"); super.chifan();//调用父类的方法 System.out.println("唱戏"); }}}继承父类的方法需要重写,调用的时候没什么异样,正常调用,而装饰设计方法则是直接扩充方法,程序实现原则是需要父类的方法存在,在扩充的类中老方可能还用的上;另外在主函数调用的时候要把原类作为参数传入NewPerson p1 = new NewPerson(new Person());//创建一个新人类
阅读全文
1 0
- 初探Java装饰者模式和继承模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- java 设计模式之初探装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- JAVA设计模式初探之装饰者模式
- dubbo java.lang.reflect.MalformedParameterizedTypeException 异常问题
- javascript基础
- 真正的REST ful 架构
- 二叉树的镜像、对称的二叉树
- log4g配置(一)
- 初探Java装饰者模式和继承模式
- 2.2[Lib]ardupilot设备驱动实现方式
- centos 关闭防火墙以及关闭selinux方法
- strrchr
- HTML5 -- canvas实现简易画板
- 从0开始搭建阿里云(腾讯云)ubuntu16.04 nodejs + nginx + mysql + pm2 服务(二、搭建nginx环境)
- Blobs' Exhibition opentrains
- 找出两个不相交连续子数组的最大和
- 《Python全栈开发》学习过程笔记【3】