Objective-C文法之Object對象的那些事兒(五)

來源:互聯網
上載者:User
Objective-C文法之Object對象的那些事兒


雨松MOMO原創文章如轉載,請註明:轉載至我的獨立網域名稱部落格雨松MOMO程式研究院,原文地址:http://www.xuanyusong.com/archives/401
建立一個類

滑鼠右鍵單擊HelloWorld工程,彈出列表選擇框後 單擊 New File... 在工程中添加一個新的檔案。



選擇建立一個Objective-C.class的 檔案,點擊next繼續建立。



選擇當前建立類的父類,這裡選擇NSObject 表示繼承普通的object類,UItableViewCell 與 UIview 這兩個是ios顯示相關的,這裡暫時先不說明。繼續點擊Next建立這個類。






選擇類的名稱,這裡預設的名稱是MyClass,這裡只是test我就不修改了~




單擊Save後MyClass這個類就完整的建立完畢。它幫我們產生了兩個檔案 MyClass.h 與 MyClass.m, 這個和C++ 中的.h 與.cpp 基本一樣 。只不過在這裡.h 是去寫成員對象名 成員方法名 等, 而.m是去寫 具體成員方法 與成員對象 的相關實現。

MyClass.h 
Foundation os下的一個大的架構,它包括所有的類 方法 集合 等等,所以這裡需要匯入它。 @interface  類的開始的標識符號 ,好比Java  或 C 語言中的Class    @end 類的結束符號 
#import <Foundation/Foundation.h>@interface MyClass : NSObject{           //成員變數     NSString * mName;    int mNumber;}//成員方法- (id)Myinit;-(void)setInfo:(NSString *) name: (int) number;-(void)printInfo;@end
MyClass.m

@implementation 標識符 作用實現.h中 的具體方法與對象 @end 同樣為類的結束符號
-(id)init 這個方法 用於類的初始化建立,每一個類在建立的時候需要調用init方法,使用父類拿到self指標後,在這裡可以做一些子類初始化的工作。 -(id)init 方法名稱可以任意修改,但是alloc的時候需要寫入修改後的名稱,這裡我們寫成 -(id) MyInit
-(void)setInfo 方法 用於參數的傳遞 和C 與java 有點區別 習慣了就好了 嘿嘿
-(void)printInfo 方法 輸出成員變數內容
#import "MyClass.h"@implementation MyClass- (id)Myinit{    self = [super init];    if (self) {        // 在這裡進行初始化的工作        [self setInfo: @"雨松MOMO":9527];    }        return self;}-(void)setInfo:(NSString *) name: (int) number{    //參數的傳遞賦值    mName = name;    mNumber = number;}-(void)printInfo{    //輸出log資訊    NSLog(@"我的名字: %@",mName);    NSLog(@"我的編號: %d",mNumber);}@end


HelloWorldViewController.h
MyClass * 用來聲明一個指向MyClass的指標
#import <UIKit/UIKit.h>#import "MyClass.h"@interface HelloWorldViewController : UIViewController{        MyClass *myClass;}@end


HelloWorldViewController.m

-(void)viewDidLoad 方法 為介面讀取時調用 這裡做文法測試 暫時相關代碼先寫在這裡


Myinit 方法 就是我們在MyClass中重寫的初始化方法,這裡初始化直接調用我們自己寫的方法初始化。

priintInfo 方法 通過建立後的MyClass指標 可以直接調用 類方法 輸出資訊

release 方法 指標使用完畢 一定要釋放掉 如果不釋放的話會造成記憶體的白白浪費。積少成多,這件事情很可怕的。

- (void)viewDidLoad{    [super viewDidLoad];      //建立對象    myClass = [[MyClass alloc] Myinit];    //調用對象方法    [myClass printInfo];    //釋放指標    [myClass release];    }

運行後顯示的結果


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.