oc59--匿名分类

简介:
复制代码
//
//  main.m
//  匿名分类(延展)
//  可以为某个类扩展私有的成员变量和方法,写在.m文件中,
//  分类不可以扩展属性,分类有名字,匿名分类没有名字。

#import <Foundation/Foundation.h>
#import "Person.h"

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

    Person *p = [Person new];
    
    p->_age;  //报错
    [p say];  //报错
    
    return 0;
}
复制代码
复制代码
//
//  Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject

//{
//    int _age;
//}

//- (void)eat;
//- (void)say;

@end
复制代码
复制代码
//
//  Person.m

#import "Person.h"

@interface Person ()   //没有名字,所以叫匿名分类,不需要实现,
{
    int _age;  //私有的属性
}

- (void)say;   //私有的方法

@end

@implementation Person

//{
//    int _age;  //私有的属性
//}

-(void)eat    //没有声明只有实现,方法是私有的,
{
    NSLog(@"%s", __func__);
}

- (void)say   //没有声明只有实现,方法是私有的,
{
    NSLog(@"age = %i", _age);
}
@end
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/7436182.html,如需转载请自行联系原作者

相关文章
|
5月前
javadoc保留格式标签
javadoc保留格式标签
32 0
|
5月前
|
Java 编译器 计算机视觉
javap的使用--常用: javap -c -v 类名--javadoc 标签--javadoc 工具软件识别以下标签:
javap的使用--常用: javap -c -v 类名--javadoc 标签--javadoc 工具软件识别以下标签:
35 0
ts重点学习143-描述文件声明
ts重点学习143-描述文件声明
62 0
ts重点学习143-描述文件声明
ts重点学习46-接口与类型别名得异同
ts重点学习46-接口与类型别名得异同
85 0
ts重点学习46-接口与类型别名得异同
ts重点学习33-类型别名
ts重点学习33-类型别名
63 0
ts重点学习33-类型别名
|
Go
go的继承:匿名字段
go的继承:匿名字段
106 0
|
JavaScript 前端开发
ts重点学习144-描述文件声明
ts重点学习144-描述文件声明
83 0
|
存储 iOS开发
OC的类信息存放在哪里,看完千万别说还不知道
这篇行文主要介绍OC的类信息具体存放在哪个位置。在了解这个之前,要先明白 Objective-C中的对象(后称OC对象),主要可以分为哪几种,如下: 1、instance对象(实例对象) 2、class对象(类对象)-https://so.csdn.net/so/search?q=%E7%B1%BB%E5%AF%B9%E8%B1%A1&spm=1001.2101.3001.7020 3、meta-class对象(元类对象)
272 0
OC的类信息存放在哪里,看完千万别说还不知道
|
存储 API 对象存储
OC:在分类中添加成员变量,原来帮我们做了那么多事
本篇文章告诉你,如果在类对象和Category对象中添加一个属性时,底层做了什么。关联对象如何给Category对象添加成员变量,关联对象的实现原理。
200 0
OC:在分类中添加成员变量,原来帮我们做了那么多事
|
存储 开发框架 前端开发
C#特性 System.ComponentModel命名名空间属性方法大全,Syst em.ComponentModel命名空间的特性
目录: System.ComponentModel 特性命名空间与常用类 System.ComponentModel.DataAnnotations ComponentModel - Classes 类 ComponentModel - Structs 结构体 ComponentModel - Interfaces 界面 ComponentModel - Enums 枚举 ComponentModel - Delegates 委托
262 0
C#特性 System.ComponentModel命名名空间属性方法大全,Syst em.ComponentModel命名空间的特性