赞
踩
+ 类型方法 [类名 类型方法]
- 实例方法 [对象 实例方法]
比如说,存在一个Person类,
- //
- // main.m
- // LearnOC
- //
- // Created by 1 on 2022/2/10.
- //
-
- #import <Foundation/Foundation.h>
-
- @interface Person : NSObject {
- NSInteger _age;
- NSString* _name;
- }
- - (NSString*)name;
- - (void)testFunc;
-
- @end
-
- //类的实现
- @implementation Person
-
- //方法实现
- - (void)testFunc {
- //在类的内部可以直接访问成员变量
- _age = 19;
- NSLog(@"age = %ld",_age);
- }
- - (NSString*)name{
- _name = @"Dancer";
- return _name;
- }
-
- @end
-
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- //1.类调用类型方法
- Person* p1 = [Person new];
- //2.对象调用实例方法
- [p1 testFunc];
- NSString* name = [p1 name];
- NSLog(@"name is %@", name);
- }
- return 0;
- }

1.类调用类型方法 +
2.对象调用实例方法 -
get方法不是以get开头、直接写成员变量的小写名称
使用方法获取p1的name的getter方法:NSString* name = [p1 name];
使用set方法对成员变量写入操作
- #import <Foundation/Foundation.h>
-
- @interface Person : NSObject {
- NSInteger _age;
- NSString* _name;
- }
- - (NSString*)name;
- - (NSInteger)age;
- //声明setter方法
- - (void)setName:(NSString*)name;
- - (void)testFunc;
-
- @end
-
- //类的实现
- @implementation Person
-
- //方法实现
- - (void)testFunc {
- //在类的内部可以直接访问成员变量
- _age = 19;
- NSLog(@"age = %ld",_age);
- }
- - (NSString*)name{
- return _name;
- }
- - (NSInteger)age{
- _age = 28;
- return _age;
- }
- //setter方法实现
- - (void)setName:(NSString *)name{
- _name = name;
- }
-
- @end
-
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- //1.类调用类型方法
- Person* p1 = [Person new];
- //2.对象调用实例方法
- [p1 testFunc];
- NSString* name = [p1 name];
- NSLog(@"name is %@", name);
- [p1 setName:@"小强"];
- name = [p1 name];
- NSLog(@"name is %@",name);
- }
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。