当前位置: 首页 > 面试题库 >

无法理解对象状态,行为和身份?

曾典
2023-03-14
问题内容

我的教授指示我在页面上进行自我介绍,就好像我是一个对象一样,我必须解决三件事:
1)对象状态,2)行为和3)身份。

但是,我仍然很困惑如何去做这样的事情。(我已经阅读了必须解决的三个属性,但是我不知道如何将其应用于一个人)。
例如,有人告诉我狗的状态,名称和颜色等。以及行为,例如走路,吠叫或摇尾巴。

所以我会做类似的事情:

Student me = new Student();
System.out.println(me.getName()); //a state?
System.out.println(me.getCurrentActivity()); //A behavior? (if it were to return watching TV or something) 
System.out.println(me.get....()); //???

还是我在这里得到一个完全错误的想法?


问题答案:

对象的特征是:

状态对象的内容 ,学生的名字,姓氏,年龄等

行为对象做什么 ,学生参加“面向初学者的Java”课程

身份是什么使他们与众不同 ,学生有学生证号或独特的电子邮件。(这在实现equals方法时很重要,以确定对象是否不同)

Student john = new Student("John");
john.setCurrentActivity("Learning Java");
john.setAge(21);
john.setWeight(173);
john.setAddress(...);
john.setHobbies(...);

您可以找出吸气剂。

public class Student {
    private String name;
    private int    age;
    //etc

    // construct a new student 
    public Student(String name) {
        this.name   = name;
    }

    public setAge(int age) {
        this.age   = age;
    }

    public int getAge() {
        return age;
    }
}

我发现一个汽车物体的插图可能会对您有所帮助…

汽车状态

  • 速度
  • 转速
  • 齿轮
  • 方向
  • 油位
  • 引擎温度

行为

  • 换档
  • 快/慢
  • 反向走
  • 停止
  • 关门

身份

  • VIN
  • 牌照


 类似资料:
  • null 一些重要注意事项: 我们有传输安全性(HTTPS及其最好的朋友); 在窗帘后面,web应用程序代表当前用户将大量操作委托给外部服务(这些系统确实将Bob识别为其用户之一)--这意味着我们必须将Bob的凭据转发给它们。 现在,我们如何(在每个请求上)对Bob进行身份验证?哪一种方法会是实施这样的事情的合理方法呢? null null 非常感谢您花时间阅读以下内容:)

  • 问题内容: 这是我第一次尝试使用ui-router。 这是我的app.js 如您所见,我有两种状态。我正在尝试这样注册状态: 但是我越来越 无法从状态“解析”“注册” 例外。这里有什么问题? 问题答案: 这种错误通常表示(JS)代码的某些部分未加载。里面的状态不见了。 有一个可行的例子 我不是离子技术方面的专家,因此此示例应表明它可以正常工作,但我使用了更多技巧(用于制表符的父级) 这是一个调整后

  • 我通过运行以下代码得到下面的错误。 错误:decipheriv.final(node:internal/crypto/cipher:196:29)在decrypt(/users/username/dev/playground/node/src/index.ts:14:65)处处于不支持状态或无法对数据进行身份验证 节点中aes-128-gcm的“不支持状态或无法验证数据” 在nodejs解密中获取

  • 问题内容: 我正在运行代码,但是得到的是“无效状态,ResultSet对象已关闭”。错误。是什么导致错误? 问题答案: 您无法对当前使用进行迭代的查询执行另一个SQL查询。这样做会关闭先前打开的游标(您的查询代表): 引用Statement的API文档: 默认情况下,每个Statement对象只能同时打开一个ResultSet对象。因此,如果一个ResultSet对象的读取与另一个的读取交错,则每

  • 在接口流中: 中间操作可分为有状态和无状态。它们影响并行流的结果。 只有两个终端操作是非确定性方法:findAny()和forEach(Consumer)。它们影响并行流的结果。 如果中间无状态操作执行惰性操作,它们可能会产生副作用。这会影响并行Stream的结果。 中间操作可分为以下几类: 有状态 不同的() 排序() 极限(长l) 跳过(长l) 无国籍 地图(功能f) 以下是我的两个问题: >