【OC语法快览】三、创建实例对象

Creating Objects

 创建对象

There are two main ways to create an object. The first is the one you saw before:

创建对象主要有两种方法。第一种如下:

NSString* myString = [NSString string];

This is the more convenient
automatic style. In this case, you are creating an autoreleased object, which we‘ll look at in more detail later. In many cases, though, you need to create an object using themanual style:

上面这种是比较方便自动的方式。这种情况下,创建了一个自动释放的对象,接下来我们会探究其更多细节。在更多的情况下,你需要使用人工方式来创建对象:

NSString* myString = [[NSStringalloc]init];

This is a nested method call. The first is the alloc method called on NSString itself. This is a relatively low-level call which reserves memory and instantiates an object.

这是一种嵌套方法调用。首先是NSString调用alloc方法。这是一种相对底层的方法调用,用来获得内存和初始实例化对象。

The second piece is a call to init on the new object. The init implementation usually does basic setup, such as creating instance variables. The details of that are unknown to you as a client of the class.

第二个调用的是新实例对象的init方法。Init方法通常实现一些基本的启动动作,比如创建实例变量。Init方法的细节对调用者是透明的。

In some cases, you may use a different version of init which takes input:

在某些情况下,你可能使用新版本的init方法——带有输入参数。

NSNumber* value = [[NSNumber alloc]
initWithFloat:1.0];

原文:learn_objective_C part
3

【OC语法快览】三、创建实例对象,布布扣,bubuko.com

时间: 2024-11-03 22:38:04

【OC语法快览】三、创建实例对象的相关文章

【OC语法快览】四、基础内存管理

Basic Memory Management                                                           基础内存管理 If you're writing an application for Mac OS X, you have the option to enable garbage collection. In general, this means that you don't have to think about memory

【OC语法快览】六、类实现

Class Implementation      类实现 Let's create an implementation, starting with the getters: 接下来创建一个类实现,从访问器开始: #import "Photo.h" @implementation Photo - (NSString*) caption { return caption; } - (NSString*) photographer { return photographer; } @en

【OC语法快览】五、设计类接口

Designing a Class Interface     设计类接口 The Objective-C syntax for creating a class is very simple. It typically comes in two parts. 创建类的语法是很简单的,通常包括两部分. The class interface is usually stored in the ClassName.h file, and defines instance variables and

【OC语法快览】二、存取方法

Accessors 存取方法 All instance variables are private in Objective-C by default, so you should use accessors to get and set values in most cases. There are two syntaxes. This is the traditional 1.x syntax: OC中所有的实例变量默认是私有的,所以多数情况下你应该使用访问器来获得和设置实例变量的值.访问器

【OC语法快览】一、方法调用

调用方法 [object method]; [object methodWithInput:input]; output = [object methodWithOutput]; output = [object methodWithInputAndOutput:input]; id myObject = [NSString string]; NSString* myString = [NSString string]; 嵌套消息 function1 ( function2() ); [NSSt

关于Java中的几种特殊类与接口,及特殊的创建实例的方法

Java中有一些特殊的类,在教材中讲解的不深,但是确实非常有用的,这里总结一下,里面用到的有网上搜到的内容,这里表示下感谢. 一.成员内部类 成员内部类是在一个内中定义的另外一个类,这个类属于其上的类的成员,叫做成员内部类.可以把该类看做是一个成员,可实例化的成员.该类主要作用是代替结构体功能,当一个类使用到的某个成员是一个结构类型,但是该结构又没有通用性,此时就可以声明为内部类,这样便解决了结构体的问题. 注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类.对于一个名为out

利用反射创建实例强制转换为接口失败小结

最近码代码是遇到一个很奇怪的问题,利用反射创建实例对象后强制转换为接口类型时抛出异常 然后看了下类的继承关系 没有问题,查看代码用 m_queryImplementAssembly = Assembly.Load(m_queryImplementAssemblyName); m_queryImplementAssembly.CreateInstance(strInstanceName);也不应该会出问题, 后来换了一种方式Activator.CreateInstance仍然无果.就这样纠结了一天

用反射获取构造函数带参数的实例对象

经过测试,如果显示声明有参构造函数,用反射实例化的时候,就需要传入构造函数的参数,如果同时声明了有参和无参构造函数 或只声明了无参构造函数则不需要传入参数,直接可以获取实例 //显示无参构造函数,如果只显示定义了有参构造函数,就不能使用如下代码反射创建实例对象            //var art = Assembly.LoadFrom(@"F:\Q\NET\qi\jlcms_sql_src\jlcms.Web\bin\jlcms.DAL.dll").CreateInstance(

实例对象与new命令

原文地址:https://wangdoc.com/javascript/ 构造函数 JavaScript语言的对象体系不是基于类的,而是基于构造函数和原型链.JavaScript语言使用构造函数作为对象的模板.所谓构造函数就是专门用来生成实例对象的函数.构造函数就是一个普通的函数,但是有自己的特征和用法. var Vehicle = function () { this.price = 1000; }; 上面代码中,Vehicle就是构造函数.为了与普通函数区别,构造函数名字的第一个字母通常大写