![]() |
1
5
汽车是汽车,丰田汽车是汽车。
最直接的说法是
当然,
|
![]() |
2
22
我认为丰田指的是公司。 我会说:
车辆是一个物体,汽车是一种车辆。丰田是一个特殊的车辆对象实现者
|
![]() |
3
4
小型车
是一个
车辆类型-所以你可以想到
丰田生产汽车。我倾向于添加一个
|
![]() |
4
3
只是要尴尬一点:汽车是汽车的一个子类,卡车也是。 丰田是一个既生产汽车又生产卡车的制造商;因此丰田应该是汽车制造商属性的几个潜在价值之一。
|
![]() |
5
2
你的意思是:
|
![]() |
6
2
“车辆”是一个基本类,“汽车”是一个扩展、继承或衍生自“车辆”的类(取决于使用的语言),理想情况下,“丰田”应该是这两个类之一的“品牌”或“品牌”财产的价值。 |
![]() |
7
2
车辆是一个基本类。car是派生类。丰田是(可能)一个价值,可以分配给“品牌”成员的汽车类。理论上,你可以从汽车(或订单上的东西)中得到丰田,但在我看来 通常地 好主意。派生通常应该反映功能,而与品牌相关的功能几乎没有。 |
![]() |
8
2
最基本的思考方法是在你所使用的逻辑层次中。这实际上适用于世界上的任何事物。这里每个人都说了些什么,但如果你不明白,这也许不能帮助你理解他们在说什么。请允许我详细说明。 车辆:车辆可以是任何交通工具。记住,它可能是一架飞机、火车、汽车、自行车、热气球等。汽车是用来把你从一个地方带到另一个地方的东西。所以基础类是车辆,它告诉你它将是一个运输设备。 汽车:汽车是汽车的一种形式。因此,它扩展了车辆。一辆车可以被描述为一辆有4个轮子、2-N个门(取决于汽车)、一个发动机、一个方向盘、雨刷器、前照灯、闪光灯、刹车、加速器等的车辆。所以汽车进一步描述了你所指的车辆。 丰田:丰田是汽车的一种形式。因此,它扩展了汽车。(如果使用卡车类,它也可以扩展卡车)。丰田的某些元素可能不适用于每辆车。为了进一步确定汽车的类型,丰田可以指定汽油里程、车门数量、颜色、发动机尺寸等。 希望有帮助。 |
![]() |
9
1
丰田是一辆汽车。汽车是一种汽车。 因此,丰田汽车将从汽车继承,而汽车又将从汽车继承。 |
![]() |
10
1
车辆是一个阶级。 汽车是汽车的一个子类。 丰田可以是汽车类的一个(相当通用的)实例,也可以是添加丰田特定功能的子类。 |
![]() |
11
1
汽车就是汽车,丰田就是汽车。 因此,丰田可以是汽车的一个子类,汽车可以是汽车的一个子类。
例如,一辆车可能有一个成员var来指示车轮的数量和启动发动机的功能(并非所有车辆都有发动机)。虽然丰田可能有与汽车相同的vars,加上一个包含车型名称和踏板保修方法的字符串;—) |
![]() |
12
1
你可以采取不同的方法。
有更多的方法可以做到这一点,但这两种方法是最明显的,它们符合OOP概念。 关键是问问你自己那里最普遍的术语是什么?这是交通工具。你可以有很多种车辆,如卡车,越野车,自行车,气垫船和汽车。因此,在OOP中,更具体的类继承自更一般的类。 |
![]() |
13
1
在面向对象术语中 车辆将是基本类 汽车将是汽车的子类 丰田将品牌作为一个属性。 |
![]() |
14
1
当然,这不是你的面试官想要听到的答案,但是面向对象编程的目标不是模拟整个世界,而是提供抽象的数据类型 应用程序领域中的特定概念 . 因此,这三者之间的关系完全取决于您正在进行的应用程序。很有可能车辆和汽车 相同的 班级。很多应用程序可能不关心它是什么类型的车辆。他们也可能不在乎 品牌 就是这样,你也可以扔掉丰田级的。 如果不是那些认为编程的目标是生成整个宇宙的UML图的白痴们劫持了OOP,它可能是一个有用的工具。 |
![]() |
15
1
我的拿手: “丰田”不应该源于“汽车”,因为丰田是一家公司,而不是一辆特定的汽车。“丰田汽车”可以从“汽车”衍生而来。“丰田”应源于“制造商”类别,而“制造商”类别则源于“公司”类别。“vehicle”类应具有指向“manufacturer”类的指针类型的类成员。对于丰田生产的汽车,类“car”的实例化对象应该有继承的类成员指向类“toyota”的单例对象。(C++) |