Object C继承及实例变量的作用域

[main.m]

#import foundation/Foundation.h>

#import "Student.h"

//面向对象语言的特点:封装  继承 多态

//继承:也叫派生,子类继承父类,在交类的继承派生自己的实例变理及方法

//peson 类 student类:peson类是student的父类。student类是pdeson类的子类

//superClass父类的访问,subClass子类的访问

//parentClass父亲的访问,childClass 子类的访问

//OC的写法

//@interface Student:person  //student 类继承于person类

//@end

//子类继承父类,子类继承父类非私有的实例变量及非私有的方法

//子类实例变更构成=父类实例变量+子类自定义的实例变量

//子类方法构成=父类非私有方法+子类自定义的方法


int main(int argc,const char *argv[]){

@autorelesepool{

Student *stu=[[Student alloc]] init];

//继承父类的方法

stu.name=@"小飞";

stu.age=12;

//子类自定义的方法

stu.num=45;

stu.score=99;

[stu printStudent];

打印结果:name=小飞 age=12

                   num=45  score=99

}

//受保护的

//stu->_weight=45.7//不可以直接访问受保护的实例变量

//通过setter,getter方法访问受保护的实例变量

stu.weight=56.7;

NSLog(@"weight=%.2f",stu.weight);

打印结果:weight=56.7

//私有的

//stu->_height=100;//不可以直接访问私有的实例变量

sut.height=178;

NSLog(@"height=%.2f",stu.height);//类外需通过setter,getter方法间接访问

打印结果:height=178

//公共的

sut->_place=@"北京";

NSLog(@"place=%@",stu->_palce)

打印结果:pace=北京

}

return 0;

}


//创建一个person类

【person.h】

#import <foundation/Foundation.h>

@interface Person:NSObject

{

NSString *_name;

NSInteger _age;

//实例变量作用域

@protected //(缺省)受保护的实例变量,在当关类内可以直接访问,子类可以直接继承,在类外不可以直接访问,可以通过方法(setter,getter方法)的调用间接访问

float _weight;

@private //私有的实例变量,在当前类内可以直接访问,子类不能继承,子类可以通过方法间接访问,在类外不能直接访问。

float _height;

@public //公共的实例变量,在当前类内可以直接访问,子类可以直接继承,类外也可以直接访问,通过->(指针运算符)直接访问

NSString *_palce;

}

@property(nonatomic,assign)float weight;

@Property(nonatomic,assign)folat height;

@property (nonatomic,copy)NSString *name;

@property(nonatomic,assign)NSInteger age;

//默认展开的实例变理是私有变量,若放更改为受保护的在{}中定义即可

@proerty(nonatomic,copy)NSString *fristName;

@end


【person.m】

#import "person.h"

@implementation Person

//setter方法

-(void)setHeight:(float)height

{

_height = height;

}

//getter方法

-(float)height

{

return _height;

}

@end


【创建Student类,继承 Peson类】

【Student.h】

#import "person.h"

@interface Student:person

{

NSInteger _num ;//学号

NSInteger _score;//分数

}

@property (nonatmic,assign)NSInteger num;

@property (nonatmic,assign)NSInteger score;

//缺省的

-(void)print Student;

//受保护的

-(void)changeWeight;

//私有的

-(void)changeHeight;

//公共的

-(void)changPlace;

//未定义在实例变量{}中使用的property关键字

-(void)chantFirstName;

@end


【Student.m】

#import "Student.h"

@implementation Student

-(void)printStudent

{

//访问从父类继承的实例变量

NSLog(@"name=%@" age=%li,_name,_age);

//访问自定义的实例变量

NSLog(@num=%li score=%li",_num,_score);

}

//受保护的

-(void)changeWeight{

_weight=56.7;

}

//私有的

-(void)changeHeight{

{

//_height=45;//子类不能继承父类的私有实例变量

self.height=176;//通过调用setter方法,间接访问私有实例变量;

}

//公共的

-(void)chantPlace

{

_palce=@"上海";

}

//未定义实例变量,使用的是property关键字;

-(void)chantFirstName{

//_firstName=@"小飞"; 无法调用,因property关键字是将实例变量展开到.m文件

}

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容