//
// 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