//
// main.m
// oc01_类对象
//
// Created by Vision on 14-9-11.
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Phone.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSLog(@"Hello, World!");
//@是oc的字符串对象
//创建对象
Person *zhangHeng = [[Person alloc] init];//给person类zhangheng分配空间 消息的返回值为堆里的地址 init 初始化
//zhangHeng = [zhangheng init]
NSLog(@"%p",zhangHeng);
[zhangHeng standUp];
[zhangHeng introduce];
zhangHeng->_name = @"张恒";
zhangHeng->_age = 30;
zhangHeng->_sex = @"难";
[zhangHeng introduce];
Person *liutianwei = [[Person alloc] initWithName:@"刘天伟" age:22 sex:@"男"];
//基本数据类型(非对象类型) 对象类型
//char string[20] -->NSString *
//int,float,long --> NSNumber *
//int array[n]... --> NSArray *
NSLog(@"%p",liutianwei);
[liutianwei introduce];
Person *weiDaWei = [[Person alloc] initWithName:@"魏大卫"];
[weiDaWei introduce];
Phone *sony = [[Phone alloc] init];
sony->_pinpai = @"SONY";
sony->_neichun = @"大";
sony->_pingmu = @"吊";
sony->_xiangshu = @"好";
sony->_dianchirongliang = @"很大";
[sony introduce];
}
return 0;
}
<pre name="code" class="objc">//
// Phone.h
// oc01_类对象
//
// Created by Vision on 14-9-11.
#import <Foundation/Foundation.h>
@interface Phone : NSObject
{
@public
NSString *_pinpai;
NSString *_pingmu;
NSString *_dianchirongliang;
NSString *_xiangshu;
NSString *_neichun;
}
- (void)introduce;
@end
//
// Phone.m
// oc01_类对象
//
// Created by Vision on 14-9-11.
// Copyright (c) 2014年 lanou3g.com 蓝鸥科技. All rights reserved.
//
#import "Phone.h"
@implementation Phone
- (void)introduce
{
NSLog(@"品牌:%@ 屏幕:%@ 电池容量:%@ 像素:%@ 内存:%@",
_pinpai,_pingmu,_dianchirongliang,_xiangshu,_neichun);
}
@end
//
// Person.h
// oc01_类对象
//
// Created by Vision on 14-9-11.<pre name="code" class="objc">//
// Person.m
// oc01_类对象
//
// Created by Vision on 14-9-11.
//
#import "Person.h"
@implementation Person
//重写父类的init方法
- (id)init
{
//给部分成员变量赋初值
_age = 18;
NSLog(@"self : %p",self);
//返回自身
return self;
}
- (void)standUp
{
NSLog(@"又要站起来");
}
- (void)introduce
{
NSLog(@"大家好,我叫%@,今年%d岁,性别%@!",
_name, _age, _sex);
}
- (id)initWithName:(NSString *)name
{
_name = name;
return self;
}
- (id)initWithName:(NSString *)name age:(int)age sex:(NSString *)sex;
{
_name = name;
_age = age;
_sex = sex;
return self;
}
@end
<pre name="code" class="objc">//
// Person.h
// oc01_类对象
//
// Created by Vision on 14-9-11.
#import <Foundation/Foundation.h>
@interface Person : NSObject
//@interface接口
{
//成员变量
//char _name[20];
@public
NSString *_name;//姓名 _name是对象
NSString *_sex;//性别
int _age;
}
///自定义初始化方法
- (id)initWithName:(NSString *)name;
///多个参数的初始化方法
- (id)initWithName:(NSString *)name age:(int)age sex:(NSString *)sex;
//方法(行为)
- (void)standUp;
//自我介绍
- (void)introduce;
//-:实例方法
//+:类方法
@end