51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 7016|回复: 13
打印 上一主题 下一主题

[连载] 精通RFT-03: Java中的面向对象: 类与实例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-13 23:56:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于面向对象的概念与实现,类似的教材数不胜数,笔者原计划在面向对象这一块就把面向对象一些基本概念讲解一下也就可以了,但是后来仔细一想,其实做测试的朋友可能有一些对程序设计特别是面向对象方面可能不一定理解得很好或者经验很丰富。再加上作为一个连载教程,也应该保持一个教程的完整性,所以我也不得不再罗索一下了,把面向对象在Java中的应用再介绍一下,希望能从不同的角度用一些简单的语言来介绍面向对象。
本连载教程将只介绍Java中的面向对象的基础,主要包括RFT-02教程中的一些概念和实现手段,将不再介绍Java基本语法等,如有需要的朋友可在网上翻翻,另外Think in Java这本书也很经典,虽说经典,但是其面向的读者并非初学者,而是对面向对象已经理解,想深入理解的读者群。
说心里话,要学好一门自动化测试工具,对该工具的语言特性要理解得非常透彻才行,否则难有提高。如果学习RFT,我们对Java的理解不够,那么很多地方将很难理解是为什么,特别是在构建自动化测试框架时,更是一个短板。废话少说,先从最基本的类与实例,方法与属性开始Java的面向对象之旅。
先看看这个类的现实模型:类的本质就是一类事物,我们使用"门"来作为我们的类,门有哪些方法呢?"开"和"关",门有哪些属性呢?"高"和"宽",好,那么我们现在就来定义这样的一个类:
public class Door {

private int height; // 定义属性height为私有变量类型, 仅在Door类中可调用
public int width; // 定义属性width为公用变量类型, 可在Door的实例中调用

// 定义方法openDoor
public void openDoor() {
    System.out.println("Door is open now ...");
}

// 定义方法closeDoor
public void closeDoor() {
    System.out.println("Door is open now ...");
}

// 经典的setter和getter方法
public void setHeight(int height) {
    // 本处的this.height为类的私有变量height, 等号后的height为参数height的值
    this.height = height;
}

// getter方法, 用于返回值
public int getHeight() {
    return this.height;
}
}
光有门这个类还不行,类只是一类事物的统称,"门"这类事物并不能真正实现"开"和"关"的动作,只有具体的"门"才能实现"开"和"关"的动作,才有真实的"高"和"宽"的属性,所以我们需要将这个类实例化,"实例"就是一个看得见摸得着的"门",比如我家的"门"。现在我们就用我家的"门"来实例化刚才定义的"门"这个类:
public class MyDoor {

   public static void main(String[] args) {
    Door myDoor = new Door();
    myDoor.openDoor();
    myDoor.closeDoor();
    myDoor.setHeight(1000);
    System.out.println("Height is: " + myDoor.getHeight());

    // 由于在类Door中将width定义为公用变量,所以可在此直接调用该变量
    // 下面两句代码其实实现了跟setHeight()和getHeight()相同的功能
    myDoor.width = 500;
    System.out.println("Width is: " + myDoor.width);
    }
}

(声明:本文版权归作者个人所有,如需转载,请注明出处,如有需要,请联系QQ: 15903523 (强子))

[ 本帖最后由 dennyqiang 于 2010-3-23 23:48 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-3-15 10:08:40 | 只看该作者
强哥加油、小弟顶你!!!!!!!!!!!!!!!!1
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-3-18 20:53:27 | 只看该作者
期待下一连载
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-3-24 11:29:30 | 只看该作者
很好 终于明白 set,get的用法了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-4-17 16:51:08 | 只看该作者
呵呵,面向对象被您说的那么容易理解了!顶
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-19 09:54:47 | 只看该作者
呵呵 JAVA 编程培训哇?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-11-25 15:35:43 | 只看该作者
回复 1# dennyqiang


    简练易懂,再顶
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-3-17 15:51:25 | 只看该作者
期待下一连载
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2011-5-8 20:18:13 | 只看该作者
不断温习哦
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2011-5-26 18:16:23 | 只看该作者
God job!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-6-5 08:26:40 | 只看该作者
好东西,通俗易懂,很久没有碰开发的东西了,正好温习一下!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2011-12-7 15:59:11 | 只看该作者
开发零基础的路过,表示就喜欢这样生动的讲代码,受用
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2012-1-5 14:22:02 | 只看该作者
有没有继续连载下去啊?兄弟!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-2 11:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2012-10-19 15:46:16 | 只看该作者
    讲的很好啊
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-3 07:11 , Processed in 0.070076 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表