08-getter-setter方法、點(diǎn)語法

  • 背景:
    • 由于開發(fā)中經(jīng)常需要定義一些方法來操作成員變量,而每個(gè)方法都必須有一個(gè)有意義的名稱,而想名字非常難,所以就有了getter-setter方法
    • getter-setter方法格式和寫法都是固定的,所以只要有g(shù)etter-setter方法就不用煞費(fèi)心思的去想方法名稱了,解決了起名字難問題
    • 并且getter-setter方法還是程序員之間的一種規(guī)范,以后別人只要想給屬性賦值立刻就會(huì)想到getter-setter方法,這樣降低了程序員之間的溝通成本

setter方法


  • 作用: 設(shè)置成員變量的值
  • 格式:
    • 1.setter方法一定是對(duì)象方法
    • 2.一定沒有返回值
    • 3.一定以set開頭, 并且set后面跟上需要設(shè)置的成員變量的名稱去掉下劃線, 并且首字母大寫
    • 4.一定有參數(shù), 參數(shù)類型一定和需要設(shè)置的成員變量的類型一致, 并且參數(shù)名稱就是成員變量的名稱去掉下劃線

getter方法:


  • 作用: 獲取成員變量的值
  • 格式:
      1. getter方法一定是對(duì)象方法
    • 2.一定有返回值, 而且返回值一定和獲取的成員變量的類型一致
    • 3.方法名稱就是獲取的成員變量的名稱去掉下劃線
    • 4.一定沒有參數(shù)

Person.h文件中代碼示例

#import <Foundation/Foundation.h>
@interface Person : NSObject
{
    int _age; //年齡
}
// setter方法
- (void)setAge:(int)age;
// getter方法
- (int)age;

Person.m文件中代碼示例

#import "Person.h"
@implementation Gun
- (void)setAge:(int)Age;
{
     //成員變量以下劃線開頭的好處,就是可以區(qū)分局部變量和成員變量
    _size = size;
}
- (int)size
{
    return _size;
}

點(diǎn)語法


  • 背景: 如果給屬性提供了getter和setter方法, 那么訪問屬性就又多了一種訪問方式 , 點(diǎn)語法
  • 本質(zhì): 點(diǎn)語法其實(shí)它的本質(zhì)是調(diào)用了我們的setter和getter方法
  • 編譯器的特性: 點(diǎn)語法是一個(gè)編譯器的特性, 會(huì)在程序翻譯成二進(jìn)制的時(shí)候?qū)?語法自動(dòng)轉(zhuǎn)換為setter和getter方法
  • 如果點(diǎn)語法在=號(hào)的左邊, 那么編譯器會(huì)自動(dòng)轉(zhuǎn)換為setter方法
  • 如果點(diǎn)語法在=號(hào)的右邊, 或者沒有等號(hào), 那么編譯器就會(huì)自動(dòng)轉(zhuǎn)換為getter方法
  • 如果某一個(gè)屬性只提供了getter方法, 沒有提供setter方法, 我們稱這個(gè)屬性為只讀屬性
    其他:只有setter——只寫屬性; setter、getter都有——可讀可寫; 都沒有——私有。
最后編輯于
?著作權(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)容

  • 1. 使用 #import 相對(duì)c的 include 是防止頭文件的重復(fù)導(dǎo)入 2. NSLog 相對(duì)于 print...
    迎風(fēng)起飛的豬閱讀 1,973評(píng)論 6 9
  • /女孩子,一定要對(duì)得起自己/ no.1 我們總是能聽到很自私的說法:無論對(duì)不起誰,都要對(duì)自己好一...
    允奕閱讀 656評(píng)論 0 1
  • 捱過了三個(gè)季節(jié) 二百四十余個(gè)日夜的期待 不一樣的你 終托朔風(fēng)告訴我 今夜 你許會(huì)來 那盈盈的笑意又起 那匆匆的碎步...
    本無痕閱讀 812評(píng)論 61 95
  • 生活有條不紊地進(jìn)行著。 張小雨在工作上不停地學(xué)習(xí),向周圍人取經(jīng),做事時(shí)比別人多了一份責(zé)任心,也多了一個(gè)心眼。她努力...
    如此且行閱讀 329評(píng)論 1 1
  • 在網(wǎng)上看了很多大神前輩的建議和問答,應(yīng)用在了自己寫體驗(yàn)報(bào)告的過程中,也總結(jié)改進(jìn)了一些,現(xiàn)在來寫寫自己的感受~ 基本...
    樂塌塌閱讀 693評(píng)論 0 5

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