基本:
面向过程与面向对象的区别
面向过程 | 面向对象 | |
---|---|---|
特点 | 分析步骤,实现函数 | 分析问题找出参与并得出对象及其作用 |
侧重 | 实现功能 | 对象的设计(具体指功能) |
例子 | C语言 | OC,C++,java |
基本代码:
// OC打印
NSLog(@"Lanou");
// NSInteger 整型,CGFloat 浮点型,NSString 字符串
NSInteger i = 100;
NSLog(@"i = %ld",i);
CGFloat f = 3.14;
NSLog(@"f = %g",f);
// OC的字符串可以放中文
NSString *str= @"哟哟";
NSLog(@"%@",str);
// OC的数组
// 与for循环遍历一样,直接用NSLog进行遍历
NSArray *arr = @[@"1",@"2",@"3"];
NSLog(@"%@",arr);
for (NSInteger i = 0 ; i < 3; i++) {
NSLog(@"%@",arr[i]);
}
@interface Student : NSObject
@end
实现
// 对应的实现文件
@implementation Student
// 1.分配空间
Student *stu = [Student alloc];
// 2.初始化
stu = [stu init];
// 可以把上两个步骤合成一个语句
Student *stu = [[Student alloc] init];
初始化中返回的self指的是返回完成的自己
- (id)init
{
_stuName = @"俊宝宝";
_stuSex = @"女";
_stuHobby = @"男";
_stuAge = 20;
_stuScore = 100;
return self;
}
Student *stu = [[Student alloc] init];
[stu sayHi];
@interface Student : NSObject
{
// 成员变量的可见度
@public
// 成员变量,或实例变量
NSString *_stuName; // 名字
NSInteger _stuAge; // 年龄
NSString *_stuSex; // 性别
CGFloat _stuScore; // 分数
NSString *_stuHobby;// 爱好
}
@end
操作成员
// 操作成员变量
// 对象通过->来访问自己的成员变量
NSLog(@"%ld",stu -> _stuAge);
// 修改年龄
stu -> _stuAge = 100;
NSLog(@"%ld",stu -> _stuAge);
// 修改姓名,直接修改字符串直接赋值
stu -> _stuName = @"切克闹";
NSLog(@"%@",stu -> _stuName);
注意:public修饰的实例变量,可以直接使用” ->”访问
main.m
int main(int argc, const char * argv[]) {
// 通过手机的类,创建对象,并且对对象的成员变量进行修改
MobilePhone *mPhone = [[MobilePhone alloc] init];
mPhone -> _phoneBrand = @"samsung";
mPhone -> _phoneColor = @"白色";
mPhone -> _phoneModel = @"S100";
mPhone -> _phonePrice = 4800;
mPhone -> _phoneSize = 1080;
NSLog(@"品牌为%@,颜色:%@,型号:%@,价格:%ld,屏幕:%ld",mPhone->_phoneBrand,mPhone->_phoneColor,mPhone->_phoneModel,mPhone->_phonePrice,mPhone->_phoneSize);
return 0;
}
MobilePhone.h
@interface MobilePhone : NSObject
{
@public
NSString *_phoneBrand;
NSString *_phoneModel;
NSInteger _phoneSize;
NSString *_phoneColor;
NSInteger _phonePrice;
}
- (void)buyPhone;
- (void)call;
- (void)sendMessage;
- (void)surfInternet;
- (void)watchVideo;
// 写一个用来打印全部信息的功能
- (void)sayHi;
@end
MobilePhone.m
@implementation MobilePhone
- (void)buyPhone
{
NSLog(@"买了个手机");
}
- (void)call
{
NSLog(@"打了个电话");
}
- (void)sendMessage
{
NSLog(@"发了个短信");
}
- (void)surfInternet
{
NSLog(@"上了个网");
}
- (void)watchVideo
{
NSLog(@"看了个视频");
}
// 重写电话的初始化方法
- (id) init
{
_phoneBrand = @"Apple";
_phoneColor = @"red";
_phoneModel = @"S5";
_phonePrice = 4000;
_phoneSize = 1080;
return self;
}
- (void)sayHi
{
NSLog(@"%@ , %@ ,%@ ,%ld ,%ld ,",_phoneBrand,_phoneColor,_phoneModel,_phonePrice,_phoneSize);
}
文章总结了今天学习的基本内容
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u011752406/article/details/46898285