Objective-C(二类和对象)

 类和对象

#import是include的升级版,可以自动防止重复包含,所以注意:大家以后在引入头文件的时候都使用import

Foundation是一个框架,Foundation.h是Foundation框架的主头文件

#import <Foundation/Foundation.h>

找到Foundation框架头文件的路径:

Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks

oc程序的入口和c一样,都是main函数

区别

1.名字不同

2.引入的头文件不同

3.打印的格式不同,在打印时,NSlog后面的括号内要以@开头

4.打印的内容不同

5.NSlog可以自动换行

6.printf用于打印c的字符串,NSlog打印oc的字符串

OC中的类

类的关系三个方面:

1.名称(类名):首字母大写,如果名称是由多个单词组成的,后面的单词遵循驼峰原则

2.属性:一般以下划线开头。

3.行为(方法):首字母小写,后面遵循驼峰原则:将行为写在离执行这个行为最直接的对象

OC对象

当你尝试做一些事情(执行功能)的时候,你就这样写[类名/对象 方法名称]  [方法的调用者 方法名称]

1.用类名去调用的方法叫类方法

2.用对象去调用的方法叫对象方法

创建一个对象

例: Iphone *iphone1 = [Iphone new];//[类名/对象 方法名称]

[Iphone new];

1.分配内存空间

2.初始化成员变量(又叫实例变量,是类声明当中大括号里面的属性值),将整数值初始化为零

3.返回空间的地址

oc当中所有的类都可以看做一种数据类型

oc对象给成员变量赋值与结构体相同

一个类可以创建很多个对象,对象之间毫不影响

isa指针不是我们创建的,是每个类都有的,隐藏的成员变量

对象方法

对象方法要以-开头,2.所有的数据类型放在小括号里面,且只有数据类型放在小括号里面。3.方法名遵循驼峰原则 4.如果没有参数,方法名后面什么都不用写。5.行为的声明写在@interface 类名 :NSObject {}大括号下面,@end上面

在声明当中声明了什么方法,实现当中就实现什么方法实现在@implematation 类名里@end上面

时间: 2024-09-28 16:19:44

Objective-C(二类和对象)的相关文章

Objective -C Object initialization 对象初始化

Objective -C Object initialization 对象初始化 1.1 Allocating Objects  分配对象 Allocation is the process by which a new object is born. allocation 是新对象诞生的过程. Sending the alloc message to a class causes that class to allocate a chunk of memory large enough to

objective - c 类和对象

知识点 1.初步认识 OC 2.xcode使用 3.面向对象编程思想,类和对象 4.类的定义和使用 5.类的实例化--对象 6.声明和实现相分离 =========================================== 1.需要理解的(理论部分) 第一部分:OC和面向对象 1.1.OC语言的历史,特点.重要程度 [什么是OC] objective - c   在C语言基础上开发, 面向对象的语言: 注意C语言和oc语言语法的区别: IOS, iphone, ipad … [进入OC

Objective-C 源码(一):对象模型

首先,你要先弄清楚什么是类,什么是对象.(为了说清楚这个问题,先举个栗子:类->对象->实例:人类是类:某个人是对象:你是实例:实例本身也是对象.这下基本能理解其中的差别了,要是还是搞不清楚,自己去google一下吧.) 对象 在Objective-C中,每一个对象都是某个类的实例,且这个对象的isa指针指向它所属的类.打开 objc-private.h文件,在第126行可以看到 Objective-C???? 对象的定义struct objc_object ,Objective-C中对象本质

浅谈Java对象回收的三种方式

半夜睡不着,加上最近在看Java虚拟机,写点给新手和自己看的东西. 第一类:生命周期中止 void scope(){ Test t = new Test(); } 第二类:对象无引用 (一).对象的应用被转移: void life(){ Test t = new Test(); t = new Test(); } (二).对象被赋值为null void scope(){ Test t = new Test(); t = null; }

Objective C语言中nil、Nil、NULL、NSNull的区别

以下内容是基于搜集整理的网上资料,供参考. nil:指向Objective C语言中对象的空指针,其定义值为(id)0. Nil:指向Objective C语言中类(Class)的空指针,其定义值为(Class)0. NULL:指向C语言中的标准空指针,其定义值为(void *)0. NSNull:在Objective C语言的集合对象中,表示空值的对象,其定义值为[NSNull null].[NSNull null]是一个对象,用在不能使用nil的场合. 因为在NSArray和NSDictio

走入计算机的第二十八天(面向对象的程序设计)

一  什么是面向对象的程序设计及为什么要有它 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了程序的复杂度 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等. 面向对象的程序设计的核心是

移动端数据库新王者:realm

介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库.目标是取代SQLite. 为了彻底解决性能问题,核心数据引擎C++打造,并不是建立在SQLite之上的ORM.如果对数据引擎实现想深入了解可以查看:Realm 核心数据库引擎探秘.因此得到的收益就是比普通的ORM要快很多,甚至比单独无封装的SQLite还要快. 因为

iOS字符串

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte

转: app端数据库(性能高) realm (ios, android 均支持)

转:  http://ios.jobbole.com/85041/ 移动端数据库新王者:realm 2016/05/14 · iOS开发 · 数据库 分享到:0 原文出处: 没故事的卓同学(@没故事的卓同学) realm 介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective?C和Swift)以及Android.2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库.目标是取代SQLite.为了彻底解决性能问题,