类是单个单元中方法和变量的绑定。
对象是类的一个实例。
这些是编程书籍中类和对象的定义。我的朋友说,一个类是一个对象的蓝图。对象是蓝图的真实“事物”。他举了一个例子:如果Company是一个类,INFOSYS、CTS、TCS等都是对象。每当我想到类和对象时,这些定义都会让我感到困惑。如果通道是一个类,那么该类的对象是什么?如果水是一个类,那么什么是类的对象?你能澄清一下吗?
类是单个单元中方法和变量的绑定。
对象是类的一个实例。
这些是编程书籍中类和对象的定义。我的朋友说,一个类是一个对象的蓝图。对象是蓝图的真实“事物”。他举了一个例子:如果Company是一个类,INFOSYS、CTS、TCS等都是对象。每当我想到类和对象时,这些定义都会让我感到困惑。如果通道是一个类,那么该类的对象是什么?如果水是一个类,那么什么是类的对象?你能澄清一下吗?
如果 channel 是一个类,则 Start Sports、BBC 和 ESPN 是它的对象。如果水是一个类,那么“新鲜石灰水”和“汤”就是它的对象。
尽管您可能会发现此解释含糊不清,但这是我能想到的答案。
以下是您可以了解和区分类别的方法:
假设你有一个类“CAR”
它的对象是现代、福特、铃木。它将具有相同的方法但不同的设计 -> 这就是您可以将对象和类与现实世界联系起来的方式。
一个类指定其实例的行为。
类也是类的实例(类的类称为“元类”)。
类是一种抽象。您可以通过查找应用于一组对象的通用属性来找到一个类。
那么类是一个模板,它定义了要包含在特定类型对象中的方法(行为)和变量(状态)
认可课程(课外)需要经验。
阅读 Alan Kay 的任何内容,他是对象技术的发明者,也是 Smalltalk 的发明者之一,Smalltalk 是迄今为止唯一的纯对象环境。
我没有太多的编程经验,但是我的一个朋友做了一个很好的例子来定义一个类和一个对象。我会尽量使用人类语言。
取一匹马。是什么让你知道这种动物是马而不是……狗?因为它有四只脚,是个大动物,很强壮,能跑。好吧,您刚刚在脑海中定义了一个“马”类!现在,您将看到一匹名为“Pollyanna”的白色母马和一匹名为“Demon”的黑色公马。你一看到它们就知道它们是马,所以它们属于“马”类。是什么让他们与众不同?性别和颜色......这些是“马”类的属性。'Pollyanna' 和'Demon' 是两个物体,它们是真实的东西,你可以实际触摸和骑乘的东西。它们的性质、性别和颜色也不同。波莉安娜是白人女性。恶魔是黑色和男性。这些定义的属性是一个对象与另一个对象的区别。一匹马从另一匹马。但它们仍然属于同一类:它们总是马!
现在更具技术性...类是对某事物的更抽象定义。一张蓝图。对象是属于该类的真实事物。当你从一个类创建一个新对象时,你正在实例化一个对象(也就是创建一个实例)。
希望这会有所帮助,如果不抱歉......正如我之前所说,我没有太多编程经验:)
詹卢卡
我会给你一个经典的解释,你可以到处找到不同的版本。
一个类就像一个蓝图。假设你想造一辆汽车,你首先需要的是一个计划,这就是类。该计划将描述“方法”,例如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:
假设你正在用一堆由不同地形组成的块组成一个游戏。然后你可以有诸如草、水、岩石等类(想想我的世界)。然后你可以让一个水类实例(一个水对象)占据地图上的特定位置。
一个对象的生命周期是有限的,对象被创建并最终被销毁。同样在该生命周期内,对象可能会发生重大变化
在现实世界中,您经常会发现许多同类对象。可能存在数千个其他频道,所有频道的品牌和型号都相同。每个通道都是从同一组蓝图构建的,因此包含相同的组件。在面向对象的术语中,我们说您的通道是称为通道的对象类的一个实例。类是创建单个对象的蓝图。
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
在语法中,普通名词是类,专有名词是宾语。
班级
目的
现在对象可以是任何东西,如公共汽车、汽车、移动或人等。
以三星智能手机为例。现在三星智能手机是我们所知道的对象。要创建三星智能手机,我们需要一个蓝图(类)。现在将有成千上万的三星智能手机,它们可以有不同的颜色,如蓝色或黑色,也可以有不同的内存或存储空间。现在三星智能手机,蓝色,4gb 内存,256gb 存储,这是该对象的一个实例。
所以,
类是对象的蓝图,实例可以视为对象的单个出现。
术语类和对象明确地相互关联,但每个术语都有其不同的含义。让我们从解释术语类的含义开始。类是指实际编写的代码段,用于定义任何给定类的行为。因此,类是一段静态代码,其中包含在 orogram 执行期间不改变的属性。而对象指的是类的实际实例实例。每个 ibhect 都必须属于一个类
对象是具有某些特征和行为的可识别实体。它表示可以存储数据及其相关功能的实体。
类是一组具有共同属性和关系的对象。它代表一组相似的对象。