多态应用-打印商品价格案例

1 package com.szxs.goods;
2 /**
3  * 父类:商品类
4  * @author
5  *
6  */
7 public abstract class Goods {
8     public abstract void printPrice();
9 }
 1 package com.szxs.goods;
 2
 3 //食品类
 4 public class Foods extends Goods {
 5
 6     public void printPrice() {
 7         System.out.println("食品的价格是10元");
 8
 9     }
10
11 }
 1 package com.szxs.goods;
 2 /**
 3  * 电视类
 4  * @author
 5  *
 6  */
 7 public class TVs extends Goods {
 8
 9     public void printPrice() {
10         System.out.println("电视的价格是4998元");
11
12     }
13
14 }
 1 package com.szxs.goods;
 2 /**
 3  * 商场类
 4  * @author
 5  *
 6  */
 7 public  class Mark {
 8     public Goods  buy(int type) {
 9         Goods goods=null;
10         switch(type) {
11         case 1:
12             return goods=new Foods();
13         case 2:
14             return goods=new TVs();
15         }
16         return goods;
17
18     }
19 }
 1 package com.szxs.goods;
 2
 3 public class Test {
 4
 5     public static void main(String[] args) {
 6         Mark m=new Mark();
 7         m.buy(1).printPrice();
 8     }
 9
10 }

原文地址:https://www.cnblogs.com/baichang/p/10067765.html

时间: 2024-10-31 19:15:38

多态应用-打印商品价格案例的相关文章

Laravel 多态关联使用的案例

1.实现的功能,:短信发送,需要签名和模板审核,审核结果要插进审核记录表 2,在signature(签名表模型)和 template(模板表模型)添加多态对应关系代码其实一样,代码如下: 审核记录表需要有:auditable_type, 用来保存所属模型的类名.该字段可默认插入值,也可自定义 A:在审核记录表添加 public function auditable()     {         return $this->morphTo();     } B:在签名表加 public func

基于python的websocket开发,tomcat日志web页面实时打印监控案例

web socket 接收器:webSocket.py 相关依赖 # pip install bottle gevent gevent-websocket argparse from bottle import request, Bottle, abort from geventwebsocket import WebSocketError from gevent.pywsgi import WSGIServer from geventwebsocket.handler import WebSo

Java从零开始学十六(多态)

一.什么是多态 多态性是指允许不同类的对象对同一消息作出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用程序函数同名问题.多态有两种表现形式:重载和覆盖首先说重载(overload),是发生在同一类中.与什么父类子类.继承毫无关系.标识一个函数除了函数名外,还有函数的参数(个数和类型).也就是说,一个类中可以有两个或更多的函数,叫同一个名字而他们的参数不同.他们之间毫无关系,是不同的函数,只是可能他们的功能类似,所以才命名一样,增加可

Java元注解,简单案例

[注解] 程序中有 注释 和注解 * 注释:给开发人员. * 注解:给计算机看的. 注解使用:学习框架支持注解开发. [JDK提供的注解] @Override :描述方法的重写. @SuppressWarnings :压制警告. @Deprecated :标记过时. 自定义注解: 定义一个类:class 定义一个借口:interface 定义一个枚举:enum 定义一个注解:@interface 用法: @interface MyAnno1{ } 带有属性的注解: @interface MyAn

java8-3 多态的好处和弊端以及多态的理解

多态的好处: A:提高了代码的维护性(继承保证) B:提高了代码的扩展性(由多态保证) 猫狗案例代码 1 class Animal { 2 public void eat(){ 3 System.out.println("eat"); 4 } 5 6 public void sleep(){ 7 System.out.println("sleep"); 8 } 9 } 10 11 class Dog extends Animal { 12 public void e

Java基础继承与多态

Java基础第九天 继承概述 引入 首先我来写两个代码: //定义学生类 class Student {     public void study(){ System.out.println("在教室学习"); } } //定义老师类 class Teacher { public void teach(){ System.out.println("在教室教书"); } } 我们观察上面两个代码: 发现name,age成员变量,以及getXxx()/setXxx()

09-02 java 多态

多态的前提.多态的特点 /* 多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有方法重写. 其实没有也是可以的,但是如果没有这个就没有意义. 动物 d = new 猫(); d.show(); 动物 d = new 狗(); d.show(); C:要有父类引用指向子类对象. 父 f = new 子(); 用代码体现一下多态. 多态中的成员访问特点: A:成员变量 编译看左边,运行看左边. B

5.4 SAP ABAP 面向对象概念 - 多态 - 摘自 《SAP ABAP面向对象程序设计:原则、模式及实践》

<SAP ABAP面向对象程序设计:原则.模式及实践> https://book.douban.com/subject/30317853/ http://www.duokan.com/shop/tbt/book/179473 https://item.jd.com/12423999.html https://e.jd.com/30429611.html 5.4 多态 5.4.1 多态的概述 多态是一个生物学和化学中的专有名词,被面计算机科学家引用到面向对象的程序设计中. 我们用柯林斯英语词典看

C++学习(14)—— 多态

1.多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类: 静态多态:函数重载 和 运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定--编译阶段确定函数地址 动态多态的函数地址晚绑定--运行阶段确定函数地址 下面通过案例进行讲解多态 #include<iostream> using namespace std; //动物类 class Animal public: virtual void speak(){