第二章、objective-c类和对象
- 格式:pptx
- 大小:96.29 KB
- 文档页数:29


objective c语法Objective-C是一种面向对象的编程语言,主要用于开发iOS和macOS平台上的应用程序。
在Objective-C中,语法结构类似于C语言,但有许多扩展和新的概念。
下面将介绍Objective-C语法的主要特点和使用方法。
1. 类的定义Objective-C中的类定义使用@interface和@end关键字。
类名通常以大写字母开头。
例如:```@interface Person : NSObject {}@end```这个类名为Person,继承自NSObjet类。
在类的大括号中,可以定义实例变量和方法。
2. 属性```@interface Person : NSObject {NSString *name;}@property (nonatomic, strong) NSString *name;@end```这里定义了一个名为name的实例变量,并使用@property定义了一个名为name的属性。
其中,strong表示对属性对象的强引用,nonatomic表示属性不是原子性的,可以提高代码的性能。
3. 方法在Objective-C中,方法名称以-(减号)开头表示实例方法,以+(加号)开头表示类方法。
例如:```- (void)printName {NSLog(@"My name is %@", name);}方法也可以有返回值,例如:```- (BOOL)isAdult {if (age >= 18) {return YES;} else {return NO;}}```4. 初始化在Objective-C中,对象的初始化方法通常被称为“构造函数”,用于为对象分配内存和初始化实例变量。
常用的初始化方法是-init,例如:5. 继承在Objective-C中,一个类可以继承自另一个类。
子类拥有父类的属性和方法,并可以添加自己的属性和方法。
objective-c介绍1、KVCKVC是一种间接访问对象属性(用字符串表征)的机制,而不是直接调用对象的accessor 方法或是点(.)直接访问成员对象的属性。
例如访问一个对象属性我们可以person.age 也可以通过kvc的方式[person valueForKey:@"age"]key就是确定对象某个值的字符串,也就是属性的名称,它通常和accessor方法或是变量同名,并且必须以小写字母开头。
Key path就是以“.”分隔的key,因为属性值也能包含属性。
比如我们可以person这样的key,也可以有key.gender这样的key path。
获取属性值时可以通过valueForKey:的方法,设置属性值用setValue:forKey:。
与此同时,KVC还对未定义的属性值定义了 valueForUndefinedKey:,你可以重载以获取你要的实现(补充下,KVC定义载NSKeyValueCoding的非正式协议里)。
注意的是KVC的Value都必须是对象。
在O-C 2.0引入了property,我们也可以通过.运算符来访问属性。
下面直接看个例子:@property NSInteger number;instance.number=3;[instance setValue:[NSNumber numberWithInteger:3] forKey:@"number"];以上介绍了通过KVC来获取/设置属性,接下来要说明下实现KVC的访问器方法(accessor method)。
Apple给出的惯例通常是:-key:,以及setKey:(使用的name convention和setter/getter命名一致)。
对于未定义的属性可以用setNilValueForKey:。
至此,KVC的基本概念你应该已经掌握了。
之所以是基本,因为只涉及到了单值情况,kvc 还可以运用到对多关系,这里就不说了,留给各位自我学习的空间。
objective-c语法Objective-C是一种编程语言,它是C语言的扩展,增加了面向对象编程的特性。
Objective-C的语法结构与C语言类似,但增加了一些Objective-C特有的关键字和语法元素。
以下是一些Objective-C的基本语法元素:1.头文件和import指令:Objective-C使用头文件(.h)来声明类、方法和协议。
import指令用于导入所需的头文件。
例如:2.类和对象:Objective-C的类定义使用@interface指令和@end指令。
类实例(对象)是使用@implementation指令和@end指令定义的。
例如:3.对象创建和初始化:可以使用alloc和init方法来创建和初始化Objective-C对象。
例如:4.对象方法和消息:Objective-C中,对象方法使用@selector指令定义。
消息传递机制通过@protocol 指令和@implementation指令定义,这使得Objective-C支持动态方法绑定。
例如:5.类方法和静态方法:Objective-C中,类方法和静态方法使用+和-指令定义。
类方法和静态方法可以在类定义之外使用,这在创建单例对象时非常有用。
例如:6.属性和访问器:Objective-C中,可以使用@property指令定义属性。
属性声明包括读写权限(getter 和setter方法)、默认值和数据类型。
例如:7.协议:Objective-C使用@protocol指令定义协议。
协议定义了一组方法和属性,可以被任何遵循协议的类实现。
例如:8.异常处理:Objective-C使用NSException类进行异常处理。
可以使用@try、@catch和@finally 指令来捕获和处理异常。
例如:9.消息和选择器:Objective-C使用@selector指令定义消息。
可以使用NSSelectorFromString方法从字符串生成选择器。
程序员必须掌握的10个编程语言随着信息技术的不断发展,编程语言也在不断涌现。
作为一名程序员,学习多种编程语言不仅可以提升自己的技能水平,也可以扩展自己的视野和职业发展机会。
以下是程序员必须掌握的10个编程语言。
第一章:JavaJava是应用最广泛的编程语言之一。
几乎所有类型的应用,从企业级应用、移动应用到嵌入式系统,都可以使用Java进行开发。
Java强大的跨平台性能,使得它可以在不同的操作系统和硬件平台下运行。
第二章:PythonPython是一种高级脚本语言,具有简单易学、高效率和可读性强等优点。
Python应用广泛,可以用于Web开发、数据分析、科学计算、系统自动化、人工智能等领域。
近年来Python凭借在机器学习、数据分析等领域的表现逐渐成为热门的编程语言。
C#是一种面向对象、类型安全、简单、先进且具有高性能的编程语言,被广泛用于Windows应用程序开发。
C#和.NET框架一起,提供了一种高效的开发环境,可以创建各种类型的应用程序。
第四章:JavaScriptJavaScript是一种广泛使用的编程语言,主要用于前端开发。
它可以帮助程序员在Web页面中实现动态效果、表单验证、数据处理等功能。
JavaScript也可以用于服务器端编程,例如Node.js的应用。
第五章:SQLSQL是结构化查询语言的缩写,是一种用于管理关系型数据库的标准语言。
SQL可以用于定义表格、查询数据、更新数据、删除数据等操作。
程序员学习SQL可以帮助他们更好地理解数据库系统,从而提高应用程序的性能和可靠性。
C++是一种高级编程语言,具有高性能和低级别的控制能力。
C++可以用于开发桌面应用程序、游戏、操作系统和嵌入式系统等。
然而,由于C++对程序员的要求比较高,对于初学者来说可能比较困难。
第七章:SwiftSwift是一种由苹果公司开发的编程语言,主要用于开发iOS和macOS应用程序。
Swift语言具有易学性、速度快、安全性高等特点。