java成员对象
来源:互联网 发布:js 清理cookie 编辑:程序博客网 时间:2024/06/08 12:05
面向对象的可重复利用,有一种很好的方法,往往被大家忽略。就是成员对象。在thinking in java中进行了很好的阐述。
最简单地复用某个类的方式就是直接使用该类的一个对象,此外也可以将那个类的一个对象置于某个新类中。我们称其为“创建一个成员对象”。新的类可以由任意数量、任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。——Thinking in Java
所谓成员对象就是A类的成员变量的类型是B类,那么A类的穿越变量的属性就是B类的属性,那么该成员可以调用与之对应类型的B类的方法。
- ##### 下面通过一个小demo来看一下他的具体实现
我们想要通过程序来描述书,那么我们可以将之定义为书类,而书中我们大致也分为电子书和纸质书两种,显然,将他们都放在书类来写,程序必定冗余繁杂,并且后期维护困难,这时就是“成员对象”大显身手的时候了。我们不妨将电子书和纸质书分别单独归位一类,最后用书类来个大一统。具体代码如图
- ##### 这是电子书类
package book;//这是电子书类public class Ebook{//两个成员变量出版时间和价格 private String publishTime = ""; private double price = 0; //构造函数 Ebook(String publishTime, double price){ this.publishTime = publishTime; this.price = price; } //Ebook类的方法,获取价钱 double getPrice(){ return this.price; }}
- ##### 这是纸质书类
package book;//这是纸质书类public class PaperBook{//两个成员变量出版时间和价格 private String publishTime = ""; private double price = 0; //构造函数 PaperBook(String publishTime, double price){ this.publishTime = publishTime; this.price = price; } //获取价钱 double getPrice(){ return this.price; }}
- ##### 最后是大哥出场时间
package book;//这是书类public class Book{ private Ebook ebook = new Ebook("1998年11月12日",2.5); private PaperBook pBook = new PaperBook("1998年11月12日",250); void showEPrice(){ System.out.println("该书的电子书价格为"+ebook.getPrice()+"元" ); } void showPPrice(){ System.out.println("该书的纸质书价格为"+pBook.getPrice()+"元" ); } public voic static main(String[] args){ Book book = new Book(); book.showEPrice(); book.showPPrice(); }}
结果是:
该书的电子书价格为2.5元该书的纸质书价格为250元
0 0
- java成员对象
- java面向对象-多态中成员函数成员变量的特点
- Java面向对象-类成员和实例成员的访问
- Java-对象创建和成员可见性
- 成员对象
- 对象成员
- 成员对象
- 对象成员
- 【学习笔记02】java面向对象-成员变量、匿名对象
- java:类、对象、成员和方法及实例化对象
- Java面向对象 多态动态绑定(非静态成员函数、成员变量、静态成员函数)
- java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
- java 基础 面向对象(多态中的成员访问特点之静态成员成员方法)
- java之面向对象编程1:类、对象、成员变量、成员函数
- Java学习(十一)java实例对象访问类成员
- 【Java】java使用反射访问对象方法和成员变量
- 对象数组&对象成员
- 21天学通Java调用不存在的对象或成员变量
- ECharts
- Js实现16/19位银行卡号前端校验
- 杭电ACM2050java做法
- 利用postgreSQL管理地图数据库
- 168. Excel Sheet Column Title
- java成员对象
- C++里面获取单个进程的内存利用率
- php中simplexml_load_file函数用法实例
- 手机touch的运用
- MySql操作命令大全
- Sublime Text 3配置php语法错误提示插件PHPCS(windows 7)
- win7 Apache 配置支持HTTPS的SSL证书
- HMAC加密(单向)
- iOS 悬浮可拖动可点击按钮