OC - Method
来源:互联网 发布:电脑网络 编辑:程序博客网 时间:2024/06/05 15:07
<main.m>
#import <Foundation/Foundation.h>#import "Person.h"#import "AudiCar.h"int main(int argc, const char * argv[]){ @autoreleasepool { // //创建对象 Person *ligang = [[Person alloc] init]; //调用方法 [ligang sayHi]; [ligang setName:@"李刚" sex:@"男" age:18 weight:4.3]; [ligang sayHi]; //setter //更改姓名 [ligang setName:@"花花"]; [ligang setSex:@"菜菜"]; [ligang sayHi]; NSString *a = [ligang name]; NSLog(@"%@ %@ %@",[ligang name],[ligang sex],a);// //public 下的直接访问// ligang->_name = @"dsf"; //创建 Audicar 对象 AudiCar *Q7 = [[AudiCar alloc] init]; //setter getter 方法调用 [Q7 setStyle:@"Q7"]; [Q7 setColor:@"yellow"]; [Q7 setPrice:45.0]; [Q7 print]; //取值 NSLog(@"我有一辆%@车,颜色是%@,价格%ld万", [Q7 style],[Q7 color],[Q7 price]); [Q7 fly]; //使用自定义初始化方法创建 Person 对象 Person *per = [[Person alloc ]initWithname:@"zhangsan" sex:@"male" age:15 weight:4.3]; Person *per1 = [[Person alloc ]initWithname:@"lisi" sex:@"female" age:21 weight:5.3]; Person *per2 = [[Person alloc]initWithname:@"wangwu" sex:@"female" age:18 ]; [per sayHi]; [per1 sayHi]; [per2 sayHi]; //使用自定义初始化方法创建 audicar 对象 AudiCar *car = [[AudiCar alloc]initWithstyle:@"Q1" color:@"blue" price:33333]; [car print]; //使用自定义初始化方法创建 mobilephone 对象 MobilePhone *phone =[[MobilePhone alloc ]initWithtype:@"isdf" color:@"白" price:32.4]; } return 0;}
<Person.h>
#import <Foundation/Foundation.h>/* 实例变量可见度: 1.@public :公共的,在类的内部和外部都可以进行访问(破坏了面向的对象的封装特性) 2.@private :私有的,只有当前类才能访问,其子类不能戒指访问(破坏了继承特性) 3.@protected :受保护的,只有当前类及其子类才能访问(默认的) */@interface Person : NSObject{ NSString *_name; NSString *_sex; NSInteger _age; CGFloat _weight;}//初始化方法-(id)init;//============================带参方法==========================================//函数的声明//void setvalue(NSString *name,NSString *sex,NSInteger age,CGFloat weighet);//setName:sex:age:weight; 方法名//去掉 - 或者 + ,去掉返回值类型及(),去掉每一个参数及其参数类型,剩余的部分就是方法名//OC 中的方法的形式//+ - 开头区分当前的方法是类方法,还是实例方法//()内部些返回值类型//书写对于每一个参数的说明":"后面书写参数的类型和参数名字,如果没有参数不写":"-(void)setName:(NSString *)name sex:(NSString *)sex;-(void)setName:(NSString *)name age:(NSInteger)age;-(void)setSex:(NSString *)sex age:(NSInteger)age weight:(CGFloat)weight;//带参的方法-(void)setName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age weight:(CGFloat)weight;//sayhi-(void)sayHi;//============================setter getter==========================================#pragma - mark setter and getter 方法//setter , getter 一般在初始化下面.//初始化方法,构造器方法,设置器访问器方法,一般按照这个顺序来排列// name//setter : 以 set 开头 + 实例变量(去掉下划线)首字母大写 + ":" + 参数以及参数类型-(void)setName:(NSString *)name;//getter : 返回值为对应实例变量的类型,方法名为实例变量名去掉下划线-(NSString *)name;//age-(void)setAge:(NSInteger)age;-(NSInteger)age;//sex-(void)setSex:(NSString *)sex;-(NSString *)sex;//weight-(void)setWeight:(CGFloat)weight;-(CGFloat)weight;//=============================自定义初始化=========================================//自定义初始化方法//形式: init 开头 + with 'W'大写 + 各个参数-(id)initWithname:(NSString *)name sex:(NSString *)sex age:(NSInteger)age weight:(CGFloat)weight;-(id)initWithname:(NSString *)name sex:(NSString *)sex age:(NSInteger)age;
<Person.m>
#import "Person.h"@implementation Person-(id)init{ _name = @"zhangsan"; _sex = @"male"; _age = 25; _weight = 88.8; return self;}-(void)sayHi{ NSLog(@"%@ %@ %ld %.2f",_name,_sex,_age,_weight);}//============================带参方法==========================================-(void)setName:(NSString*)name sex:(NSString *)sex{ //给实例变量赋值 _name = name; _sex = sex;}-(void)setName:(NSString *)name age:(NSInteger)age{//给实例变量赋值 _name = name; _age = age; }-(void)setSex:(NSString *)sex age:(NSInteger)age weight:(CGFloat)weight{//给实例变量赋值 _sex = sex; _age = age; _weight = weight;}-(void)setName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age weight:(CGFloat)weight{//给实例变量赋值 _name =name; _sex = sex; _age =age; _weight = weight;}//============================setter getter==========================================// name//-(void)setName:(NSString *)name{ _name = name;}-(NSString *)name{ return _name;}//age-(void)setAge:(NSInteger )age{ _age = age;}-(NSInteger)age{ return _age;}//sex-(void)setSex:(NSString *)sex{ _sex = sex;}-(NSString *)sex{ return _sex;}//weight-(void)setWeight:(CGFloat)weight{ _weight =weight;}-(CGFloat)weight{ return _weight;}//=============================自定义初始化=========================================//自定义初始化方法//形式: init 开头 + with 'W'大写 + 各个参数-(id)initWithname:(NSString *)name sex:(NSString *)sex age:(NSInteger)age weight:(CGFloat)weight{ self = [super init]; if (self) { _name = name; _sex = sex; _age =age; _weight = weight; } return self;}-(id)initWithname:(NSString *)name sex:(NSString *)sex age:(NSInteger)age{ self = [super init]; if (self) { _name = name; _sex = sex; _age =age; } return self;}
<AudiCar.h>
#import <Foundation/Foundation.h>@interface AudiCar : NSObject{ NSString *_style; NSString *_color; NSInteger _price;}-(id)init;//style-(void)setStyle:(NSString *)style;-(NSString *)style;//color-(void)setColor:(NSString *)color;-(NSString *)color;//price-(void)setPrice:(NSInteger)price;-(NSInteger)price;//飞-(void)fly;-(void)print;// 自定义初始化方法-(id)initWithstyle:(NSString *)style color:(NSString *)color price:(NSInteger )price;
<AudiCar.m>
#import "AudiCar.h"@implementation AudiCar-(id)init{ _style = @"sport"; _color = @"red"; _price = 888888; return self;}//style-(void)setStyle:(NSString *)style{ _style = style;}-(NSString *)style{ return _style;}//color-(void)setColor:(NSString *)color{ _color = color;}-(NSString *)color{ return _color;}//price-(void)setPrice:(NSInteger)price{ _price = price;}-(NSInteger)price{ return _price;}-(void)fly{ NSLog(@"飞翔的奥迪车");}-(void)print{ NSLog(@"%@ %@ %ld",_style,_color,_price);}// 自定义初始化方法-(id)initWithstyle:(NSString *)style color:(NSString *)color price:(NSInteger)price{ self = [super init]; if (self) { _style = style; _color = color; _price = price; } return self;}
0 0
- OC - Method
- OC - Method(High)
- OC- Method Swizzling
- OC学习Runtime之Method swizzling
- Method
- method
- method
- method
- 一次关于OC运行时和Method Swizzing的小实践
- Method method
- oc
- oc
- OC
- OC
- OC
- oc
- oc
- oc
- 用 ES6 generator & Promise 写异步代码
- java1.8不能生成classes.dex
- hdu-5372 Segment Game(离散树状数组)(2015多校contest 7)
- MyEclipse 项目部署到tomcat时出现错误之——deploy
- dup,dup2,2>&1,tee用法
- OC - Method
- 自组织特征映射神经网络(SOFM)
- 九度 Online Judge 算法 刷题 题目1059:abc
- poj3070
- poj 1458
- 九度 Online Judge 算法 刷题 题目1062:分段函数
- Gradle 发布公共模块到maven库(android版)
- IOS开发中rss解析数据解析
- java反照机制模拟按键输入