JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

java 核心技术-12版 卷Ⅰ- 4.1.3 识别类

wys521 2024-11-28 09:00:29 精选教程 22 ℃ 0 评论

原文

传统的过程式程序中,必须从最上面的main 函数开始编写程序。设计一个面向对象系统时,则没有所谓的“最上面”。因此,学习OOP的初学者常常会感到无从下手。答案是:首先从识别类开始,然后再为各个类添加方法。

识别类的一个简单经验是在分析问题的过程中寻找名词,而方法对应动词。

例如,在订单处理系统中,有这样一些名词:

  • 商品(Item)
  • 订单(Order)
  • 发货地址(Shipping address)
  • 付款(Payment)
  • 账户(Account)
  • 从这些名词就可以得到类 Item、 Order 等。

接下来查找动词。商品要添加(add)到订单中,订单可以发货(ship)或取消(cancel),另外可以对订单完成付款(apply)。对于每一个动词,当“添加”“取消”或者“完成付款”,要识别出负责完成相应动作的对象。例如,当一个新商品添加到订单中时,订单对象就是负责的对象,因为它知道如何存储商品以及如何对商品进行排序。也就是说,add应该是Order 类的一个方法,它接受一个Item 对象作为参数。

当然,这种“名词”与“动词”原则只是一种经验,在创建类的时候,只有经验能帮助你确定哪些名词和动词重要。


个人补充

参考设计class

package corejava.chapter4.lession1;

import java.util.Scanner;

public class Chicken {

    String name;

    String skill;

    void setName(String n) {
        name = n;
    }


    void study(String s) {
        skill = s;
    }

    void showSkill() {
        System.out.println(skill);
    }


    public static void main(String[] args) {
        Chicken c1 = new Chicken();
        c1.setName("小花");
        c1.study("唱歌");

        Chicken c2 = new Chicken();
        c2.setName("小白");
        c2.study("跳舞");

        Chicken c3 = new Chicken();
        c3.setName("刘总");
        c3.study("书法");

        Chicken c4 = new Chicken();
        c4.setName("肥肥");
        c4.study("下蛋公鸡,公鸡中的战斗机,哦也");

        Chicken[] cs = {c1, c2, c3, c4};
        Scanner sc = new Scanner(System.in);
        int x = -1;
        while (x != 0) {
            System.out.println("请选择要对话的chicken 1,2,3,4,退出请按0");
            x = sc.nextInt();
            if (x < 1 || x > 4) {
                System.out.println("选择错误,不存在的chicken");
            }else{
                int index = x - 1;
                Chicken cx = cs[index];
                System.out.println("my name is " + cx.name);
                cx.showSkill();
            }

        }
        System.out.println("bye bye");


    }

}

练习题

下面两个题目

1是基本题目,应该没有难度,如果设计不出来,需要加强基础学习和练习了。

2是选做题目,做不出来也正常,没有关系,属于需要变通的题目,如果能做出来,说明之前的学习效果很好。

题目1 , 简单:

设计一个Cat 类,

猫分公母,有不同颜色,不同体重。

猫有不同的爱吃的东西,比如:老鼠,鱼,猫罐头,裤子腿等

所有的猫都会喵喵叫。

参考上述的范例,设计此Cat类,main函数中,生成4个Cat实例,使用交互程序选择不同的Cat ,查看Cat的属性,并让它吃点东西,叫一声。

题目2,加点难度:

设计一辆车

品牌比如用 Byd

车牌照当然是每辆车各自的

油箱容量设置为25

百公里油耗按照6.5来算

车子可以上牌照

注意:没有上牌照,不能开车,不能加油。必须先上牌照


车子有行驶和加油功能

加油的话,如果不满25,就按指定的数字加油

如果超过25就加到25,剩下的退掉


行驶的话,按里程减少油

如果一次行驶的里程导致油耗尽

就退出程序,打印油已耗尽,再见。(这里注意,退出系统不再是选择界面, 而是行驶后检查油量,油耗完的时候退出)

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表