有人可以解释什么是类,类的实例,对象,方法,函数,程序?
很多时候我很困惑何时使用例如方法,程序和功能时,差异是什么,这三者之间的关系是什么?类的实例与对象相同吗?还有用于什么构造函数和析构函数?
我知道有很多关于谷歌的文献,但我想在一个地方清楚地看到这一点,我认为这对我的OOP中的许多初学者都有帮助。
答案 0 :(得分:1)
类:实体的开发抽象。它代表任何现实实体,例如Person,Dog,Tree,BlogPost或User。它包含属性,用于存储实体的属性,如Person的名称或用户的电子邮件;和方法用于实现对属性的操作,例如更改人名或计算用户银行余额。
对象:类的具体实例。引用Person类时,对象可能是填充了其属性的实际Person。
方法:定义某个类的操作,可能会更改其内部表示(属性)或只是要求某些内容。
功能:就像方法一样,但经常用于非OOP编程语言
程序:就像函数一样,但在函数没有返回值时经常使用。
答案 1 :(得分:0)
C ++没有程序。这个概念没有在C ++中定义。
通常在提到过程时,这意味着函数不会向调用者返回某些值。相对于C ++,它意味着函数具有返回类型System.arraycopy(...)
。
方法只是类成员函数,它是在类中声明的函数。
类的实例是类类型的创建对象。
构造函数用于创建类的对象。当对象被销毁时会调用析构函数。
答案 2 :(得分:0)
类就像模板,例如:Person类,Student class
类的实例是该类的对象
方法是函数的另一个名称,它用作类
的对象的操作构造函数是在创建对象时调用自身的东西类似析构函数是在删除对象时调用自身的东西
答案 3 :(得分:0)
课程是曲奇饼干;类(又名对象)的实例是cookie。您可以从类中生成内存中的实例/对象。
实例和对象是特定类的内存中表示的同义词。
对象将数据和方法封装在一起组成一个软件组件。每个对象都保持自己的状态。对象通过相互进行方法调用进行通信。
这与函数式编程不同,后者使用函数对数据结构进行操作。在这种情况下,数据和功能是分开的。
方法,功能,程序:我说它们是同义词。我经常使用这些词来引用可以调用实例/对象的方法。
答案 4 :(得分:0)
类别:
一个类描述了潜在的对象,包括它们的属性和行为。类类似于配方或蓝图,它描述了对象将具有哪些特征以及它们在创建后将能够执行的操作。
对象:
对象是具有属性和行为的具体实体。
方法:
方法是一个文本块,在调用时实际执行某些操作
功能和程序的工作方式几乎相同。
有关主题的更多信息,请访问以下链接:
答案 5 :(得分:-1)
我的朋友,你问什么不能在一页或一章中回答!
但是对于开始: 对象与类的“实例”同义。类是描述可以从该类“实例化”的对象的蓝图。
例如,你可以拥有一个看起来像这样的人类:class Human{
public:
int age;
int height;
int weight;
string name;
...
public void speak()
{
std::cout<<"my name is "<< this->name;
}
}
这是一个描述“Hey,Human是一个类型的类。从现在起,程序员可以创建Human对象。每个人类对象应该有一个年龄,高度等的整数。 这些被称为成员“字段”(属于对象的变量)
此外,每个人都有自己的发言方式。如说话功能中所述。 在OOP术语中,这通常被称为“方法”,(它实际上意味着功能,程序,子程序等),但最重要的是要实现每个人都有自己的说话功能。你注意到这只是一个蓝图(一个类),我们还没有做过任何人类!为了创造人类,你需要为单独的人类(每个人的年龄,身高等)分配记忆
您可以在主要功能中执行以下操作:
Human dan;
Human mary;
dan.age=44;
dan.weight=80;
dan.height=178;
dan.name="Daniel"
mary.age=33;
mary.weight=60;
mary.height=165;
mary.name="Mary";
现在你可以看到,我们有2个不同的人,我们可以从他们那里访问不同的领域。我们也可以创造尽可能多的人类。 (请记住,公共领域通常不是优秀的OOP实践。
但不幸的是,你可以看到实际上创造像这样的人是很麻烦的。什么是更好的方法?使用构造函数!!
让我们回到类Human的定义并添加一个公共函数,其中没有返回类型,并且与类同名
class Human{
...
public Human(int age, int height, int weight, string name):
age(age),height(height),weight(weight),name(name)
{
}
你刚才看到的是一个带有“初始化列表”的构造函数
现在在你的主要功能中你不必(并且不应该,因为大多数字段必须是私有的)经历设置每个字段的磨难。
当你从Human类“实例化”一个对象时,你会“调用构造函数”。 像这样:Human dan(44,80,178,"Daniel");
析构函数稍微复杂一些:它们是在对象即将被销毁时调用的函数,例如当它超出范围时。它的工作是释放对象所持有的任何资源。
这是作为OOP的初学者预告片,我建议您阅读并深入练习以获得良好的理解。
欢呼声