iOS OC02_可见度,方法

来源:互联网 发布:社交网络囤积症 编辑:程序博客网 时间:2024/06/04 08:47

.h

//

//  Student.h

//  OC02_可见度,方法

//

//  Created by dllo on 15/7/16.

//  Copyright (c) 2015 zhozhicheng. All rights reserved.

//


#import <Foundation/Foundation.h>


@interface Student :NSObject

//成员变量可见度

//@public的级别是最低的,都可以用对象->的方式找到成员变量,不安全

//如果没写可见度,默认是被保护的,被保护的成员变量可以在当前类及其子类使用

//@private私有的:只能当前的类可以使用,使用的范围更小

//@package这个是系统一些文件来使用,系统来用,如果以后看见了,直接跳过去就行


{

    @public

   NSString *_stuName;

   NSString *_stuSex;

    @protected

   NSString *_stuHobby;

    @private

   CGFloat _stuScore;

   NSInteger _stuAge;

}

-(void)sayHi;

-(void)eat;

-(void)play;

//对所有成员变量的赋值语句

//只要是有参数,就一定要加冒号,冒号的作用相当于标识参数

//在调用方法的时候我们通过参数形容词知道对应要填的参数,形参名是方法实现的时候用的

- (void)setStuName:(NSString *)stuName

         setStuAge:(NSInteger)stuAge

       setStuScore:(CGFloat)stuScore

         setStuSex:(NSString *)stuSex

       setStuHobby:(NSString *)stuHobby;

// 设置器和访问器都是针对一个成员变量进行值得存储和读取,当对多个成员变量进行操作的时候,称为赋值语句

//设置器

- (void)setStuName:(NSString *)stuName;

- (void)setStuAge:(NSInteger)stuAge;

- (void)setStuScore:(CGFloat)stuScore;

- (void)setStuSex:(NSString *)stuSex;

- (void)setStuHobby:(NSString *)stuHobby;



//访问器


- (NSString *)stuName;

- (NSInteger)stuAge;

- (CGFloat)stuScore;

- (NSString *)stuSex;

- (NSString *)stuHobby;


// 自定义的初始化方法

// 方法必须init开头,后面跟一个With,W必须大写

- (id)initWithStuName:(NSString *)stuName

               stuAge:(NSInteger)stuAge

             stuScore:(CGFloat)stuScore

               stuSex:(NSString *)stuSex

             stuHobby:(NSString *)stuHobby;





// 便利构造器







@end








//

//  Student.m

//  OC02_可见度,方法

//

//  Created by dllo on 15/7/16.

//  Copyright (c) 2015 zhozhicheng. All rights reserved.

//


#import "Student.h"


@implementation Student


-(void)sayHi{

    NSLog(@"%@,%@,%@,%g,%ld",_stuName,_stuSex,_stuHobby,_stuScore,_stuAge);

}

-(void)eat{

   NSLog(@"要吃饭");

}

-(void)play{

   NSLog(@"要玩");

}


    - (void)setStuName:(NSString *)stuName

             setStuAge:(NSInteger)stuAge

              setStuScore:(CGFloat)stuScore

                setStuSex:(NSString *)stuSex

              setStuHobby:(NSString *)stuHobby

{

   _stuName =stuName;

   _stuAge = stuAge;

   _stuHobby=stuHobby;

   _stuScore=stuScore;

   _stuSex=stuSex;

    

    

    

    

}



// 设置器

- (void)setStuName:(NSString *)stuName{

   _stuName=stuName;

}

- (void)setStuAge:(NSInteger)stuAge{

   _stuAge=stuAge;

}

- (void)setStuScore:(CGFloat)stuScore{

   _stuScore=stuScore;

}

- (void)setStuSex:(NSString *)stuSex{

   _stuSex=stuSex;

}

- (void)setStuHobby:(NSString *)stuHobby{

   _stuHobby=stuHobby;

}


//访问器

- (NSString *)stuName{

    return_stuName;

}

- (NSInteger)stuAge{

    return_stuAge;

}

- (CGFloat)stuScore{

    return_stuScore;

}

- (NSString *)stuSex{

    return_stuSex;

}

- (NSString *)stuHobby{

    return_stuHobby;

}




-(id)init{

   _stuAge = 18;

    _stuHobby =@"";

    _stuName=@"张三";

   _stuScore=75.5;

    _stuSex=@"";

    return self;

}




- (id)initWithStuName:(NSString *)stuName

               stuAge:(NSInteger)stuAge

             stuScore:(CGFloat)stuScore

               stuSex:(NSString *)stuSex

             stuHobby:(NSString *)stuHobby

{

   _stuAge =stuAge;

   _stuName =stuName;

   _stuScore =stuScore;

   _stuSex =stuSex;

   _stuHobby=stuHobby;

    return self;

}



















@end











//

//  main.m

//  OC02_可见度,方法

//

//  Created by dllo on 15/7/16.

//  Copyright (c) 2015 zhozhicheng. All rights reserved.

//


#import <Foundation/Foundation.h>

#import "Student.h"

#import "AudiCar.h"


// OC里的枚举

NS_ENUM(NSInteger, NSSeason){

    Spring = 1 << 0,

    Summer = 1 << 1,

    Autumn = 1 << 2,

    Winter = 1 << 3

};






int main(int argc,const char * argv[]) {

//    //创建一个对象

////    Student *stu=[[Student alloc] init];

////    [stu sayHi];

////    

//    

//   // 方法一共分为两种,一种是+方法,称为类方法,这种方法一般类来进行使用,比如alloc

//    // 第二种是-号方法,称为实例方法,一般对象来调用,比如我们自己写的sayHi,init

//    

//    Student *stu =[[Student alloc] init];

////    [stu setStuName:@"杨林" setStuAge:29  setScore:75.5 setStuSex:@"" setStuHobby:@""];

//    [stu sayHi];

//    

//    [stu setStuHobby:@""];

//    NSLog(@"%@",[stu stuHobby]);

    

    

   

    Student *stu =[[Studentalloc]initWithStuName:@"商帅"stuAge:20 stuScore:75.3stuSex:@""stuHobby:@"臭美" ];

    [stusayHi];

    // 消息机制

    // [消息的接受者具体要做的事]

    

    AudiCar *car =[[AudiCaralloc] initWithSetBand:@"A6"setCharge:34 setColour:@"白色"];

    

    NSLog(@"%ld",Spring |Summer);

    

    

   return 0;

}



0 0