直接查找系统库
导入 Function/Function.h Function 是框架,
Function.h 是主头文件 导入了可以用这个框架的所有文件有文件
*/
#import
// 类的定义 NSObject 是父类
@interface Person : NSObject{
// 属性
double _hight;
double _weight;
}
/*
interface 和 end 之间定义行为
*/
// - 开头的方法,对象可以调用的
// + 开头的方法,类可以调用的
// 声明一个 唱歌方法,可以被对象调用
// 直接在这个定义后面 `{函数实现}` 这样会报错
- (void) sinTheSong;
@end
// 是先对象函数
@implementation Person
- (void)sinTheSong{
printf("人在唱歌!\n");
}
@end
int main(int argc, const char * argv[]) {
/*
自动释放池,帮我们动态分配对象 工厂方法创建的
*/
@autoreleasepool {
// 实力化一个对象 利用 [Person new]; [[Person alloc] init];
// 动态初始化对象的内存
Person* Xiaoming = [Person new];
/*
[对象 实力方法]
[类型 类型方法]
*/
[Xiaoming sinTheSong];
// insert code here...
// @"" oc 的字符串类型,对象类型
NSLog(@"Hello, World!");
}
return 0;
}">
直接查找系统库
导入 Function/Function.h Function 是框架,
Function.h 是主头文件 导入了可以用这个框架的所有文件有文件
*/
#import
// 类的定义 NSObject 是父类
@interface Person : NSObject{
// 属性
double _hight;
double _weight;
}
/*
interface 和 end 之间定义行为
*/
// - 开头的方法,对象可以调用的
// + 开头的方法,类可以调用的
// 声明一个 唱歌方法,可以被对象调用
// 直接在这个定义后面 `{函数实现}` 这样会报错
- (void) sinTheSong;
@end
// 是先对象函数
@implementation Person
- (void)sinTheSong{
printf("人在唱歌!\n");
}
@end
int main(int argc, const char * argv[]) {
/*
自动释放池,帮我们动态分配对象 工厂方法创建的
*/
@autoreleasepool {
// 实力化一个对象 利用 [Person new]; [[Person alloc] init];
// 动态初始化对象的内存
Person* Xiaoming = [Person new];
/*
[对象 实力方法]
[类型 类型方法]
*/
[Xiaoming sinTheSong];
// insert code here...
// @"" oc 的字符串类型,对象类型
NSLog(@"Hello, World!");
}
return 0;
}">
直接查找系统库
导入 Function/Function.h Function 是框架,
Function.h 是主头文件 导入了可以用这个框架的所有文件有文件
*/
#import
// 类的定义 NSObject 是父类
@interface Person : NSObject{
// 属性
double _hight;
double _weight;
}
/*
interface 和 end 之间定义行为
*/
// - 开头的方法,对象可以调用的
// + 开头的方法,类可以调用的
// 声明一个 唱歌方法,可以被对象调用
// 直接在这个定义后面 `{函数实现}` 这样会报错
- (void) sinTheSong;
@end
// 是先对象函数
@implementation Person
- (void)sinTheSong{
printf("人在唱歌!\n");
}
@end
int main(int argc, const char * argv[]) {
/*
自动释放池,帮我们动态分配对象 工厂方法创建的
*/
@autoreleasepool {
// 实力化一个对象 利用 [Person new]; [[Person alloc] init];
// 动态初始化对象的内存
Person* Xiaoming = [Person new];
/*
[对象 实力方法]
[类型 类型方法]
*/
[Xiaoming sinTheSong];
// insert code here...
// @"" oc 的字符串类型,对象类型
NSLog(@"Hello, World!");
}
return 0;
}">
/*
#import 导入系统库文件 自动检查文件是否被重复导入
#import "用户自定义文件" 先用户目录,后系统文件
#import <系统库文件> 直接查找系统库
导入 Function/Function.h Function 是框架,
Function.h 是主头文件 导入了可以用这个框架的所有文件有文件
*/
#import <Foundation/Foundation.h>
// 类的定义 NSObject 是父类
@interface Person : NSObject{
// 属性
double _hight;
double _weight;
}
/*
interface 和 end 之间定义行为
*/
// - 开头的方法,对象可以调用的
// + 开头的方法,类可以调用的
// 声明一个 唱歌方法,可以被对象调用
// 直接在这个定义后面 `{函数实现}` 这样会报错
- (void) sinTheSong;
@end
// 是先对象函数
@implementation Person
- (void)sinTheSong{
printf("人在唱歌!\\n");
}
@end
int main(int argc, const char * argv[]) {
/*
自动释放池,帮我们动态分配对象 工厂方法创建的
*/
@autoreleasepool {
// 实力化一个对象 利用 [Person new]; [[Person alloc] init];
// 动态初始化对象的内存
Person* Xiaoming = [Person new];
/*
[对象 实力方法]
[类型 类型方法]
*/
[Xiaoming sinTheSong];
// insert code here...
// @"" oc 的字符串类型,对象类型
NSLog(@"Hello, World!");
}
return 0;
}

类的函数调用 和类的初始化类似
// message 类
+ (void)setMess1:(NSString*)mess1 setMess2:(NSString*)mess2{
NSLog(@"1111");
}
// main.m 调用
[message setMess1:@"hahaha" setMess2:@"hehehe"];
OC 不支持多继承