您的位置:首页 > 移动开发 > IOS开发

iOS OC02_可见度,方法

2015-07-20 16:29 423 查看
.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 =[[Student
alloc]initWithStuName:@"商帅"
stuAge:20 stuScore:75.3
stuSex:@"男"
stuHobby:@"臭美" ];
[stu
sayHi];

//
消息机制

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

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

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

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: