java之成员对象

如果文章对你有所帮助,请点喜欢并关注,这将是我最大的动力,谢谢

首先我们都知道面向对象程序设计语言最了不起的优点之一就是她的可复用性,而到底如何实现可复用性呢,今天我们来简单的探讨一下。

最简单地复用某个类的方式就是直接使用该类的一个对象,此外也可以将那个类的一个对象置于某个新类中。我们称其为“创建一个成员对象”。新的类可以由任意数量、任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。——Thinking in Java

所谓成员对象,也就是像该书中说的一样,打个比方,A类的成员变量的类型是B类,那么A类的成员变量的属性就是B类的属性,那么该成员变量也可以调用与之所对应类型的B类的方法。

  • 下面通过一个小demo来看一下他的具体实现
    我们想要通过程序来描述书,那么我们可以将之定义为书类,而书中我们大致也分为电子书和纸质书两种,显然,将他们都放在书类来写,程序必定冗余繁杂,并且后期维护困难,这时就是“成员对象”大显身手的时候了。我们不妨将电子书和纸质书分别单独归位一类,最后用书类来个大一统。具体代码如图
  • 这是电子书类


    ebk.png
  • 下面是纸质书类
pbb.png
  • 最后是大哥出场时间
book.png

当然对于以上代码,也许用继承能更好的实现,继承我们之后再谈。

  • 下面说一下我个人在学习过程中的一些心得
    可能有人刚从面向过程的学习过度到面向对象,对于类里定义的成员变量不是基础类型如Int double,而是一个自己定义的类,在用的时候有些一时转不过弯来。
    对此我想说,把int型也当成一个类,double型也当成一个类,诚然,他们都有包裹类,int型对应Integer类,double型对应Double类,在用法上类和类是一样的

    int i=10;
    Integer i=new Integer(10);//这里的和我们定义的类都一样,他可以调用Integer的方法
    把基础类也当成我们定义的类来想象。把 int i=10想象成Integer i=new Integer(10),希望能有所帮助。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,261评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,082评论 0 4
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,090评论 6 13
  • 昨天补课看到“安全感”是最大的枷锁。我想了想,自己放弃安全感做的事情就是没有选择做老师。 我的爷爷是老师,十多年的...
    旦卉阅读 265评论 2 3