Objective-C语法之Object对象的那些事儿(五)
生活随笔
收集整理的這篇文章主要介紹了
Objective-C语法之Object对象的那些事儿(五)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Objective-C語法之Object對象的那些事兒
創建一個類
鼠標右鍵單擊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 方法 為界面讀取時調用 這里做語法測試 暫時相關代碼先寫在這里
release 方法 指針使用完畢 一定要釋放掉 如果不釋放的話會造成內存的白白浪費。積少成多,這件事情很可怕的。
- (void)viewDidLoad { [super viewDidLoad]; //創建對象 myClass = [[MyClass alloc] Myinit]; //調用對象方法 [myClass printInfo]; //釋放指針 [myClass release]; }
運行后顯示的結果
創建一個類
鼠標右鍵單擊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]; }
運行后顯示的結果
轉載于:https://www.cnblogs.com/xuanyusong/archive/2011/09/16/2238558.html
總結
以上是生活随笔為你收集整理的Objective-C语法之Object对象的那些事儿(五)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 即时显示缩略图
- 下一篇: 应用DIV+CSS编码时容易犯的一些错误