gpt4 book ai didi

Java,关于使用 Object 类的意见?

转载 作者:行者123 更新时间:2023-11-29 09:50:19 25 4
gpt4 key购买 nike

我想知道对于像这样使用 Java 的 Object 类的普遍看法是什么:

private Car myCar;
private String myCarBrand;
public void set(String variableToSet, Object valueToSet){
if(myCarBrand.equals("AUDI")){
if(varibleToSet.equals("COLOR"))
(Audi myCar).setColor((Color) valueToSet);
...
}
...
}

不知何故,我觉得我不应该使用 Object 类。然而,我这样做的原因是并非所有汽车都具有相同的 setter 函数,现在我可以将其拆分为多个具有相同名称但具有不同类型的 valueToSet 的 setter,但这需要更多代码,尤其是当我的 valueToSet 的类型大不相同时。

谢谢

勘误表

  • 奥迪扩展汽车

  • setColor 应该代表一个不适用于所有汽车的类,像 turnOnBackSeatDiscoLights 这样的类可能更适合。

最佳答案

我不同意你的代码编写 O-O 编程的设计。

你应该将你的类设计为 Car 类,在 car 对象中,你应该有一个方法来设置颜色

public Car{
//attributes of your car class
private brandName;
private color;
....
....
...constructor...

public setColor(String color)
this.color = color;
public setbrandName(String brandName)
this.brandName = brandName;

}

从你的问题来看,我不知道你的类实际上指的是什么,但是,你的函数不仅应该有一个不合适的名称“set”,而且很难猜测它的含义,做什么。并且记住在编写 OO 程序时,您应该记得进行抽象。

要具体到你的答案,我可以建议

利用基类 (Car) 的继承。您可以将 Car 类设为抽象类。对于包含特定属性或方法的汽车的特定品牌名称,您应该继承 Car 类。

要记住的重要一点是,对于您声明的每个方法和属性,它们都必须对您的类具有某种“意义”。这是 OO 的重要概念,否则,您的代码不会那么容易被其他人维护,一个不好的例子是您的 set 函数。

关于Java,关于使用 Object 类的意见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com