一个对象是一个类的实例。
这些是编程书籍中关于类和对象的定义。我的朋友说,一个类是对象的蓝图,而对象是蓝图的真实“事物”。他给了一个例子:如果公司是一个类,那么INFOSYS、CTS和TCS等就是对象。每当我想到类和对象时,这些定义会让我感到困惑。如果频道是一个类,那么类的对象会是什么?如果水是一个类,那么类的对象会是什么?你能帮我澄清一下吗?
类指定其实例的行为。
类本身也是一个类的实例(类的类被称为“元类”)。
类是一种抽象概念。你可以通过找到适用于一组对象的通用属性来找到类。
因此,类是一个模板,它定义了要包含在特定类型的对象中的方法(行为)和变量(状态)。
识别类(在教室外)需要经验。
阅读Alan Kay的任何内容,他是面向对象技术的发明人之一,也是Smalltalk的发明者之一,它是迄今为止唯一的纯对象环境。
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的类,其中包含描述诸如粘度、气味、密度、体积等内容的变量。Water将是此类的实例。橙汁也一样
方法2:
假设您正在组装一个由不同地形组成的方块游戏。您可以拥有像Grass、Water、Rock等类(想象一下Minecraft)。然后您可以有一个水类实例(一个水物体),占据地图上的特定位置。
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 方法。那是因为它不是一个完整的应用程序;它只是可能在应用程序中使用的 Channels 的蓝图。创建和使用新的 Channel 对象的责任属于应用程序中的其他类。
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();
}
}
在语法中,普通名词是类(Class),专有名词是对象(Object)。
类
对象
现在对象可以是任何东西,比如公交车、汽车、手机或者人等。
例如,拿三星智能手机举例。 现在我们知道三星智能手机是一个对象。 要创建这个三星智能手机,我们需要一个蓝图(类)。 现在会有成千上万的三星智能手机,它们可能是不同的颜色,比如蓝色或黑色,也可能具有不同的内存或存储空间。 现在,三星智能手机带有蓝色、4GB内存、256GB存储空间,这是该对象的一个实例。
所以,
类是对象的蓝图,实例可以被视为对象的单个发生。
对象是具有某些特征和行为的可识别实体。它代表可以存储数据及其相关函数的实体。
类是一组共享公共属性和关系的对象。它代表一组相似的对象。