Class 目标C-类和对象之间的差异

Class 目标C-类和对象之间的差异,class,object,methods,instance,Class,Object,Methods,Instance,我正在读一本关于目标C编程的书,前80页是C的基础知识 然后在关于Objective C的第一页,他们写的是类、对象和实例等。 我不知道什么是类,什么是对象,什么是实例,什么是方法 我重申这是目标C: 请一些专家给我一些例子和简单的解释,如何区分它们的区别 在这些论坛上我可以看到很多类似的问题,但是我没有找到任何与Objective C相关的问题 PS:我没有以前的经验,我是完全新的,我知道C的基础知识,还有一些C++。< /P> < P>你可以把一个类看作一个数据类型,比如一个整数。 对象是类

我正在读一本关于目标C编程的书,前80页是C的基础知识

然后在关于Objective C的第一页,他们写的是类、对象和实例等。 我不知道什么是类,什么是对象,什么是实例,什么是方法

我重申这是目标C:

请一些专家给我一些例子和简单的解释,如何区分它们的区别

在这些论坛上我可以看到很多类似的问题,但是我没有找到任何与Objective C相关的问题


PS:我没有以前的经验,我是完全新的,我知道C的基础知识,还有一些C++。< /P> < P>你可以把一个类看作一个数据类型,比如一个整数。 对象是类的实例

同一类可以存在多个实例

例如,数字1、2、-1、0都是Integer类的对象

以下是一个例子:

要定义类,我们为类创建蓝图:

@interface Box : NSObject
{
    double length;   // Length of a box
    double breadth;  // Breadth of a box
}
还有其他一些关于init方法的东西,这里没有提到

接下来,我们创建两个不同的类Box实例/对象:


当有一个名为MyOwnClass的类时,我会感到困惑,我如何才能分辨出该类中的对象是什么?当类是Integer时,它更有意义,我知道什么是Integer heheso,box1和box2是Box类型,所以类“Box”实际上是某种数据类型?那么实例/对象不是一回事吗?我添加了一些代码来解释如何使用@interface创建数据类型。当我们包含头文件以使用某些类时,这些声明就存在于这些文件中。@Jacob:是的,它有两个属性length和width。但是,通过继承,它可以获得NSObject拥有的任何信息。但这是另一个面向对象的想法。另外,应该有一个'init'方法,该方法在分配box1和box2之后调用,但我没有为它添加代码。你可以在网上找到例子。好的,我书中的一个例子是:NSDate*now=[NSDate];NSDate当时是一个类,而*现在是一个对象吗?
Box box1 = [[Box alloc]init]; // Create box1 object of type Box

Box box2 = [[Box alloc]init]; // Create box2 object of type Box