一个类是单个单元中方法和变量的绑定 对象是类的实例。
这些是编程书籍中的类和对象的定义。我的朋友说一个类是一个对象的蓝图。对象是蓝图的真实“事物”。他举了一个例子:如果 Company 是一个类,那么INFOSYS,CTS和TCS等就是对象。每当我想到类和对象时,这些定义都会让我感到困惑。如果channel是一个类,那么该类的对象是什么?如果水是一个阶级,什么是阶级的对象?你能说清楚吗?
答案 0 :(得分:14)
如果频道是一个班级,则开始体育,BBC和ESPN是其对象。 如果水是一类,“新鲜的石灰水”和“汤”是它的对象。
虽然你可能会觉得这个解释含糊不清,但这是我能想到的答案。
以下是了解和区分课程的方法:
假设您有一个班级“CAR”
它的对象是现代,福特,铃木。 它将采用相同的方法,但设计不同 - >这就是你如何将对象和类与现实世界联系起来的。
答案 1 :(得分:5)
一个类指定其实例的行为。
类也是类的实例(类的类被命名为“元类”)。
一个类是一个抽象。您可以通过查找应用于一组对象的通用属性来查找类。
然后一个类是一个模板,它定义了要包含在特定类型的对象中的方法(行为)和变量(状态)
课堂(课堂外)的认可需要经验。
阅读Alan Kay的任何内容,他是Object Technology的发明者,也是Smalltalk的发明者之一,Smalltalk是迄今为止唯一的纯对象环境。
答案 2 :(得分:3)
我没有太多的编程经验,但我的一个朋友提供了定义类和对象的好例子。 我会尽量使用人类语言。
带上一匹马。是什么让你知道这种动物是一匹马而不是一只狗?因为它有四条腿,它是一种很大的动物,它非常强壮,它可以运行。好吧,你刚刚在脑中定义了一个“马”课程! 现在,你将会看到一匹叫做“Pollyanna”的白色雌性马和一只叫做“恶魔”的黑色雄性马。一旦你看到他们就知道他们是马,所以他们属于“马”类。 是什么让他们不同?性别和颜色......这些都是“马”类的属性。 'Pollyanna'和'恶魔'是两个物体,它们是真实的东西,你可以触摸和骑行的东西。它们的属性,性别和颜色也不同。 Pollyanna是白人和女性。恶魔是黑人和男性。这些定义的属性是区分一个对象与另一个对象的区别。另一匹马。但他们仍属于同一类:他们总是马!
现在更加技术化......一个类是一个更抽象的定义。蓝图。对象是属于该类的真实对象。当您从类中创建新对象时,您正在实例化对象(也就是创建实例)。
希望这会有所帮助,如果它没有抱歉......正如我之前所说,我没有太多的编程经验:)
詹卢卡
答案 3 :(得分:2)
我会给你一个经典的解释,你可以找到不同版本的这个。
一个类就像一个蓝图。假设你想建造一辆汽车,你需要的第一件事是计划,这就是班级。该计划将描述brake
和hoot
等“方法”。它还将描述汽车的各种组件。这些是变量。
汽车对象是汽车类的实例。你可以为一个车型提供很多这样的车。
例如:
class Car:
def __init__(self,color):
self.color = color
def hoot(self):
"do stuff"
red_car = Car('red')
red_car.hoot()
blue_car = Car('blue')
blue_car.hoot()
现在,根据您使用的语言,类本身可以是对象(在Python中就是这种情况)。可以这样想:所有蓝图都有一些共同之处。这个常见的东西在蓝图的类中描述(它本身就是一个蓝图)。
然后在“水”作为一个班级,你可以通过几种方式来接近它,这取决于你想做什么:
方式1:
而是有一个名为Liquid的类,其变量描述粘度,气味,密度,体积等等。水就是这个例子。橙汁也是如此
方式2:
说你正在整理一个由不同地形组成的一堆游戏。然后你可以有草,水,岩石等课程(想想Minecraft)。然后,您可以让水类实例(水对象)占据地图上的特定位置。
答案 4 :(得分:0)
在现实世界中,您经常会发现许多相同类型的单个物体。可能存在数千个其他渠道,所有相同的品牌和型号。每个通道都是从同一组蓝图构建的,因此包含相同的组件。在面向对象的术语中,我们说您的通道是被称为通道的对象类的实例。类是创建单个对象的蓝图。
class Channel {
ChannelType type = 0;
int employeeCount = 0;
void setType(ChannelType newType) {
type = newValue;
}
void addEmployer(int increment) {
employeeCount= employeeCount+ increment;
}
void removeEmployer(int decrement) {
employeeCount= employeeCount- decrement;
}
void printStates() {
System.out.println("type :" +
type + " employee count:" + employeeCount);
}
}
此类的设计基于之前对Channel对象的讨论。字段typr,employeeCount表示对象的状态,方法(setType,addEmployer,removeEmployer等)定义它与外部世界的交互。
您可能已经注意到Channel类不包含main方法。那是因为它不是一个完整的应用程序;它只是可能在应用程序中使用的频道的蓝图。创建和使用新的Chennel对象的责任属于应用程序中的其他类。
class Channel Demo {
public static void main(String[] args) {
// Create two different
// Channel objects
Channel BBC= new Channel ();
Channel NTV = new Channel ();
// Invoke methods on
// those objects
BBC.setType(channeltype.NEWS);
BBC.addEmployer(500);
BBC.printStates();
BBC.setType(channeltype.SPORT);
BBC.addEmployer(300);
BBC.printStates();
}
}
此测试的输出打印两个通道:
类型:新闻员工人数:500
类型:SPORT员工人数:300
答案 5 :(得分:0)
in grammar Common Noun是Class,Proper Noun is Object。
答案 6 :(得分:0)
对象具有有限的生命周期,对象被创建并最终被破坏。同样在该生命周期中,对象可能会发生重大变化
答案 7 :(得分:0)
<强>类强>
<强>对象强>
答案 8 :(得分:0)
现在的物体可以是公共汽车,汽车,汽车或人等物体。
例如,以三星智能手机为例。 现在三星智能手机是我们知道的对象。 要创建该三星智能手机,我们需要一个蓝图(类)。 现在将有成千上万的三星智能手机,它们可以具有不同的颜色,例如蓝色或黑色,也可以具有不同的内存或存储空间。 现在三星智能手机具有蓝色,4GB内存,256GB存储空间,这是该对象的一个实例。
所以
类是对象的蓝图,实例可以视为对象的单次出现。
答案 9 :(得分:-1)
对象是具有某些特征和行为的可识别实体。它表示可以存储数据及其相关功能的实体。
类是一组共享公共属性和关系的对象。它代表了一组类似的对象。
答案 10 :(得分:-1)
术语类和对象与另一个术语明确相关,但每个术语都有其独特的含义。让我们首先解释一下术语的含义。类是指用于定义任何给定类的行为的实际写入的代码片段。因此,类是一个静态的代码片段,其中包含在执行orogram期间不会更改的属性。对象是指类的实际实例实例。每个ibhect必须属于一个类