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