OC 類和對象

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







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章