zoukankan      html  css  js  c++  java
  • JSJ—类与对象

    当你在设计类时,要记得对象时靠类的模型塑造出来的,你可以这样看:

    ——对象是已知事物

    ——对象会执行的动作

    对象本身已知的事物称为实例变量,它们代表对象的状态(数据),且该类型的每一个对象都会独立的拥有一份该类型的值。

    所以你也可以把对象当作为实例。

    对象可以执行的动作称为方法。在设计类时,你也会设计出操作对象数据的方法。对象带有读取或操作实例变量的方法是很常见的情形,举例来说,闹钟对象会有个变量来保存响铃时间,且会有getTime()与setTime()这两个方法来存取该时间。

    因此说对象带有实例变量和方法,但它们都是类设计中的一部分。

    类与对象两者之间有什么不同呢?

    类不是对象(却是用来创建它们的模型),类是对象的蓝图,它会告诉虚拟机如何创建某种类型的对象。根据某类创建出的对象都会有自己的实例变量。

    也可以这么说,对象就好像通讯簿中的一笔数据。

    通讯簿的每张卡片都有相同的空白字段(实例变量)。填入新的联系人就如同创建新的实例(对象),填入卡片的数据代表联络人的状态。

    这个卡片类上的方法就是你会对卡片作的事情:getTel(),changeAddress(),deleteCard()等。

    所以每张卡能够执行相同的动作,但取出的结果应该是依每张卡片各自独立的。

    要作出哪些东西才会运用对象呢?你需要两个类,一个是要被操作于对象的类,另一个是用来测试该类的类。测试用的类带有main()并且你会在其中建立与存取被测的对象。

    待在main()中对于一个测试用的程序来说是还好的,但对于货真价实的面向对象应用程序来说,你会需要用对象来与对象交互。

    main()的两种用途:

    ——测试真正的类

    ——启动你的Java应用程序

    真正的Java程序只会让对象与对象交互,此处所说的交互是指相互调用方法。

    Java的自动回收

    创建对象时,它会被存放在成为堆的内存区域汇总,不管对象如何创建都会放在此区域中。此区域并非普通的堆;它是可回收垃圾的堆(Garbage-CollectibleHeap)。Java会根据对象的大小来分配内存空间。比如说15个实例变量的对象所占用的空间就可能会比只有两个实例变量的对象要大。但对象使用完毕时内存要如何回收呢?Java会主动帮你管理内存!当某个对象呗Java虚拟机察觉不再会被使用到,该对象就会被标记成可回收的。如果内存开始不足,垃圾收集器就会启动来清理垃圾、回收空间,让空间能够再次被利用。

    面向对象设计扩展功能不需要改动之前已经测试好的程序代码。

    所有的Java程序都定义在类中。

    类如同蓝图描述该类型的对象要如何创建。

    对象自治,你无需在意它如何完成任务。

    对象有已知的事物,并能执行工作。

    对象本身已知道的事物成为实例变量,它代表对象的状态。

    对象可执行的动作称为方法,它代表对象的行为。

    创建类时,可能同时会需要创建独立、测试用的类。

    类可以继承自较为抽象的父类。

    Java的程序在执行期是一组会互相交谈的对象。

  • 相关阅读:
    [每日电路图] 2、红外遥控电路原理设计与解析【转+解读】
    [每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】
    [nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)
    [nRF51822] 4、 图解nRF51 SDK中的Schedule handling library 和Timer library
    [nRF51822] 3、 新年也来个总结——图解nRF51 SDK中的Button handling library和FIFO library
    [MFC] VS2013版本MFC工程移植到VC6.0上
    [异常解决] ubuntu上安采用sudo启动的firefox,ibus输入法失效问题解决
    [编译] 1、第一个makefile简单例子
    nginx静态文件不设置缓存
    Docker容器挂载文件(转载)
  • 原文地址:https://www.cnblogs.com/UncleCatMySelf/p/9250945.html
Copyright © 2011-2022 走看看