黑马程度员——OC语言—— @public和 @private 及 @protected
来源:互联网 发布:阿里云投诉电话 编辑:程序博客网 时间:2024/06/02 23:45
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一,概念
在C语言中,我们学习的局部变量,它们有自己的作用域。那OC中的成员变量也有它的的作用域。
二,主要分为下面三种情况
@public:任何地方都可以直接访问
@private:只能在当前类的对象方法中直接访问
@protected:可以在父以及子类的对象方法中直接访问
三,小练习
#import <Foundation/Foundation.h>@interface Person : NSObject{ int _no; @public // 在任何地方都能直接访问对象的成员变量 int _age; @private // 只能在当前类的对象方法中直接访问 int _height; @protected // 能在当前类和子类的对象方法中直接访问 int _weight; int _money;}- (void)setHeight:(int)height;- (int)height;- (void)test;@end@implementation Person{ int _aaa;// 默认就是私有 @public int _bbb; // @implementation中不能定义和@interface中同名的成员变量 // int _no;}- (void)test{ _age = 19; _height = 20; _weight = 50; _aaa = 10;}- (void)setHeight:(int)height{ _height = height;}- (int)height{ return _height;}@end@interface Student : Person- (void)study;@end@implementation Student- (void)study{ // _height = 10; [self setHeight:10]; int h = [self height]; _weight = 100;}@end@implementation Car : NSObject{@public int _speed; @protected int _wheels;}- (void)setSpeed:(int)speed{ _speed = speed;}- (int)speed{ return _speed;}@endint main(){ Student *stu = [Student new]; [stu setHeight:100]; NSLog(@"%d", [stu height]); /* Car *c = [Car new]; c->_speed = 250; */ //c.speed = 10; // NSLog(@"%d", c.speed); //[c setSpeed:<#(int)#>]; /* Person *p = [Person new]; p->_bbb = 10; p->_age = 100; */ //p->_height = 20; //p->_weight = 10; return 0;}
0 0
- 黑马程度员——OC语言—— @public和 @private 及 @protected
- 黑马程序员——OC语言(三)--易错知识点(包含@private @protected @public)
- 黑马程度员——OC语言—— set 和 get 方法
- 黑马程度员——OC语言——构造方法
- 黑马程度员——OC语言—— 内存管理原则
- 黑马程序员——private, public,protected,friendly的区别
- 黑马程序员——Java 权限public、protected、private、default
- 黑马程序员—C#访问修饰符 public、private、protected 和 internal
- Java关键字系列 — public、private、protected区别和使用
- Java——private,protected,public
- C#访问修饰符——public ,private , internal ,protected和protected internal
- 黑马程度员——ios基础——数组
- 黑马程度员——ios基础——字符串
- 黑马程度员——ios基础—— 指针
- C#基础知识——public、private、protected、internal
- public protected private继承访问权限—C++
- Java—public protected default private区别详解
- 黑马程序员员—OC(block和protocol)
- 计算机视觉领域的一些牛人博客,研究机构等的网站链接
- 记录apache-cxf-3.0.4编写web服务的过程(2)——集合
- 【LeetCode刷题记录】Single Number
- find命令详解
- 《STL源码剖析学习笔记》
- 黑马程度员——OC语言—— @public和 @private 及 @protected
- ViewPager使用心得总结
- 日拱一卒(四十五)
- 协同过滤Item-based算法实现电影推荐系统
- 新生报到!!
- 如何在tomcat中部署项目
- ngrok
- Java实现POJ 1017:装箱问题
- setOnClickListener报空指针异常