Java: “Class Overloading”

2019-07-02 01:15发布

Okay, so let's say I have a class file called Orange, and then two separate class files called Color, and Fruit.

Inside Orange, there are some properties for color, size, ripeness etc. and the method setSize(int size).

Inside Fruit, there are some properties for name, type of fruit, whether or not it has seeds, where it was imported from etc. and then the methods setName(String name), eat(), wash() and give(Person person).

Inside Color there are some properties for name, RGB values, Hex values, Alpha values etc. and then the methods setName(), setAlpha(int alpha), setRGB(int r, int g, int b) and setHex(int hex).

Most of the above mentioned information is irrelevant, and solely there to assist you in understanding. The Orange Class file has an object in it called "Parent". What I need to know is, is it possible for the object "Parent" to be set to either a Fruit, or a Color? Later on in the main class file there comes a point where myOrange.Parent.setName("Bob") happens, and in both cases (whether Parent is a Fruit or a Color) it would be possible, because Fruit has a method called setName, and Color does as well.

Thanks

7条回答
Evening l夕情丶
2楼-- · 2019-07-02 01:51

If by "parent" you mean "inherits from" then the answer is no. Orange can inherit from Fruit but not from Color. Inheritance must be an "is-a" relationship.

An Orange "is-a" Fruit, this is correct.

An Orange "is-a" Color mmmm does not sound right.

查看更多
登录 后发表回答