java之成员对象

作者: 光哥很霸气 | 来源:发表于2015-08-02 11:57 被阅读1730次

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

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

最简单地复用某个类的方式就是直接使用该类的一个对象,此外也可以将那个类的一个对象置于某个新类中。我们称其为“创建一个成员对象”。新的类可以由任意数量、任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。——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),希望能有所帮助。

相关文章

  • java之成员对象

    如果文章对你有所帮助,请点喜欢并关注,这将是我最大的动力,谢谢 首先我们都知道面向对象程序设计语言最了不起的优点之...

  • java内存模型

    引用: Java内存模型 java内存模型线程栈:本地变量,堆:对象,对象成员变量,静态成员变量 如果两个线程同时...

  • java向上转型

    java 之向上转型 当父类对象引用变量引用子类对象时,被引用对象的类型决定了调用谁的成员方法,引用变量类型决定可...

  • 面向对象编程基础

    类与对象 成员变量 -在Java中对象的属性也称为成员变量,成员变量的定义与普通变量的定义一样 成员方法 1.成员...

  • 成员变量 在Java中对象的属性也称为成员变量。 例题 创建类Book 成员方法 对应于类对象的行为。 语法格式如...

  • 慕课网-C++远征之封装篇(下)-学习笔记

    C++远征之封装篇(下) c++封装概述 类 & 对象 对象+数据成员 = 对象成员 对象 + 数组 = 对象数组...

  • java中的static静态变量和方法

    java中被static修饰的成员称为静态成员或者类成员,它属于这个类所有,而不是某个对象所有,即被类的所有对象所...

  • Java中的反射(Class类的使用,获取类的信息,方法使用等)

    Class类的使用 Java中,静态成员、普通数据类型不是对象,静态成员是属于类的,而不是属于某个对象的 类是对象...

  • 反射基本概念与Class(三):包信息和方法

    Class类的使用 Java中,静态成员、普通数据类型不是对象,静态成员是属于类的,而不是属于某个对象的 类是对象...

  • Java的类

    1、Java的成员变量和成员方法 }2、类的使用 3、一个对象调用的内存图 4、两个对象调用的内存图 5、对象产生...

网友评论

  • zkpp:刚看到这一块,书上没有很好地解释,不太理解,看了你的文章,豁然开朗。多谢

本文标题:java之成员对象

本文链接:https://www.haomeiwen.com/subject/gtrvqttx.html