类的声明和实现语法//// main.m// ClassDemo 类//// Created by ZhaiKun on 2017/10/9.// Copyright © 2017年 ZhaiKun. All rights reserved.//#import <Foundation/Foundation.h>/* 类:具有相同特征和行为的对象的集合 对象:个人的理解是 万物皆对象 *///类的声明//Person 类名 首字母大写@interface Person : NSObject@end//类的实现@implementation Person@endint main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); } return 0;} 类的属性/特征//// main.m// ClassDemo 类//// Created by ZhaiKun on 2017/10/9.// Copyright © 2017年 ZhaiKun. All rights reserved.//#import <Foundation/Foundation.h>/* 类:具有相同特征和行为的对象的集合 对象:个人的理解是 万物皆对象 *///类的声明//Person 类名 首字母大写@interface Person : NSObject{ //类的属性定义在 { } 中 NSString *name; int age;}@end//类的实现@implementation Person@endint main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); } return 0;} 类属性的调用//// main.m// ClassDemo 类//// Created by ZhaiKun on 2017/10/9.// Copyright © 2017年 ZhaiKun. All rights reserved.//#import <Foundation/Foundation.h>/* 类:具有相同特征和行为的对象的集合 对象:个人的理解是 万物皆对象 *///类的声明//Person 类名 首字母大写@interface Person : NSObject{ //类的属性定义在 { } 中 @public NSString *name; int age;}@end//类的实现@implementation Person@endint main(int argc, const char * argv[]) { @autoreleasepool { Person *person = [Person new];//类的一个实例对象,类的每一个对象是各不相同的 //person->name = @"类属性的调用"; (*person).name = @"类属性的另一种调用方式"; NSLog(@"%@", person->name); } return 0;} 类行为(方法或函数,就是某一个功能的实现)的声明、实现与调用//// main.m// ClassDemo 类//// Created by ZhaiKun on 2017/10/9.// Copyright © 2017年 ZhaiKun. All rights reserved.//#import <Foundation/Foundation.h>/* 类:具有相同特征和行为的对象的集合 对象:个人的理解是 万物皆对象 *///类的声明//Person 类名 首字母大写@interface Person : NSObject{ //类的属性定义在 { } 中@public NSString *name; int age;}//方法的声明- (void)noParamMethod;//声明一个 返回值为空void 无参数 名为noParamMethod的方法//带有一个参数的方法- (void)oneParamMethod:(NSString *)nameParam;//声明一个 返回值为空void 参数类型为NSString * 参数名为name 名为oneParamMethod的方法//带多个参数的方法- (void)paramsMethod:(int)age1 :(int)age2;//在类方法的实现中,可以直接访问类的属性- (int)classSelfParamMethod;@end//类的实现@implementation Person//方法的实现- (void)noParamMethod{ NSLog(@"noParamMethod方法的实现");}- (void)oneParamMethod:(NSString *)nameParam{ nameParam = @"带有一个参数的方法"; NSLog(@"%@", nameParam);}- (void)paramsMethod:(int)age1 :(int)age2{ NSLog(@"多个参数的方法:%d", age1+age2);}- (int)classSelfParamMethod{ age = 18; return age;}@endint main(int argc, const char * argv[]) { @autoreleasepool { Person *person = [Person new];//类的一个实例对象,类的每一个对象是各不相同的,类中的属性和方法必须通过类的实例对象进行调用 //person->name = @"类属性的调用"; (*person).name = @"类属性的另一种调用方式"; NSLog(@"%@", person->name); //方法的调用 [person noParamMethod]; [person oneParamMethod:@""]; [person paramsMethod:1 :2]; NSLog(@"在方法中直接调用类的属性:%d", [person classSelfParamMethod]); } return 0;}