Objective-C實(shí)訓(xùn)(一)

寫的實(shí)訓(xùn)的內(nèi)容并不是當(dāng)天的內(nèi)容,是之前幾天實(shí)訓(xùn)的總結(jié),好多內(nèi)容還不完善,有好多東西是給自己總結(jié)方便以后看的,希望看到的小伙伴們不要嫌棄??

知識(shí)點(diǎn)與練習(xí):

  • 新建一個(gè)Person類:

1.在Person.h中進(jìn)行變量與方法的聲明:

@interface Person : NSObject {
    @public
    NSString *_name;
    NSInteger _age;
    NSString *_gender;
    
}

- (void)sayHello;
- (void)eat;
- (void)setName:(NSString *)name age:(NSInteger)age gender:(NSString *)gender;
@end

2.Person.m中進(jìn)行方法的實(shí)現(xiàn):

- (void)sayHello{
    NSLog(@"你好啊,我叫%@,我今年%ld歲了,性別%@",_name, _age,_gender);
}

- (void)eat{
    NSLog(@"吃");
}

- (void)setName:(NSString *)name age:(NSInteger)age gender:(NSString *)gender{
    _name = name;
    _age = age;
    _gender = gender;
    //self代表自身(此時(shí)調(diào)用該方法的對(duì)象)
    [self sayHello];
}
  • 在主函數(shù)中進(jìn)行對(duì)象的創(chuàng)建以及方法的調(diào)用:
#import <Foundation/Foundation.h>
#import "Person.h"      //調(diào)用哪個(gè)類就得對(duì)其頭文件進(jìn)行導(dǎo)入

int main(int argc, const char * argv[]) {
    //C語言中的字符串前面加上一個(gè)@代表OC中的字符串對(duì)象,@代表OC對(duì)C的拓展
    @autoreleasepool {
        //NSLog(@"hello%d",10);
        Person *p = [Person alloc]; //開辟內(nèi)存空間
        p = [p init]; //初始化
        //與上邊兩步等價(jià)
        Person *p1 = [[Person alloc]init];
        
        p1->_name = @"張三";
        p1->_age = 12;
        p1->_gender = @"男";
        NSLog(@"姓名:%@,年齡:%ld,性別:%@",p1->_name,p1->_age,p1->_gender);
        //方法調(diào)用(誰去執(zhí)行一個(gè)行為,被稱為一個(gè)對(duì)象調(diào)用一個(gè)方法)
        //OC種方法的調(diào)用使用的是消息語法機(jī)制
        //[消息接收者 消息];
        [p1 sayHello];
        [p1 eat];

        [p1 setName:@"小喬" age:12 gender:@"女"];
        [p1 sayHello];
    }
    return 0;
}

概念:

1.OC概述:

Objective-C簡(jiǎn)稱OC,OC是C語言的擴(kuò)充,并且OC是iOS和OS X操作系統(tǒng)的編程語言。

2.類:

具有相同特征和行為的事物的抽象。

3.對(duì)象:

對(duì)象是類的實(shí)例,萬事萬物皆對(duì)象。
類是對(duì)象的類型。
區(qū)分對(duì)象的黃金法則:當(dāng)我們看到某個(gè)概念的時(shí)候如果每個(gè)人 的大腦中想到的都是同一個(gè)事物的時(shí)候,此時(shí)就是對(duì)象;反之則是類。

4.類和對(duì)象的定義:

類的定義:
   1??面向?qū)ο蟮暮诵乃枷胧穷惡蛯?duì)象。
   2??OC中類的定義分為兩個(gè)部分:接口部分和實(shí)現(xiàn)部分。
   3??接口部分:對(duì)外聲明類的特征和行為。(.h文件中)
   4??實(shí)現(xiàn)部分:行為的具體實(shí)現(xiàn)。(.m文件中)
接口部分:
   1??接口部分標(biāo)志:@interface...@end 。
   2??@interface...@end 的作用:聲明類的實(shí)例變量(成員變量)和方法,即特征和行為。
   3??接口部分包含的內(nèi)容:類名、父類名、實(shí)例變量、方法等。
實(shí)現(xiàn)部分:
   1??實(shí)現(xiàn)部分標(biāo)志:@implementation...@end。
   2??@implementation...@end 的作用:類行為的具體實(shí)現(xiàn)(方法的實(shí)現(xiàn))。

5.類的創(chuàng)建:

oc1.png
oc2.png
oc3.png

Teacher類創(chuàng)建舉例:
oc4.png

OC第一天實(shí)訓(xùn)講的內(nèi)容比較少,概念性的東西講的比較多,老師留的作業(yè)是創(chuàng)建15個(gè)類,進(jìn)行方法的聲明,實(shí)現(xiàn)調(diào)用等的練習(xí)??,在這就不一一列出來了。學(xué)習(xí)要循序漸進(jìn),慢慢來嘛,誰也不是一口吃成個(gè)胖子的(這句話說完怎么感覺怪怪的??),期待最后看到你的進(jìn)步,提前來個(gè)勝利的手勢(shì)??。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容