zoukankan      html  css  js  c++  java
  • oc57--Category 分类

    //
    //  main.m
    //  Category基本使用:1.不修改类而扩充类。2.对于一个庞大的类,分模块开发。
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    #import "Person+NJ.h"
    
    /*
     方法:
     方法的声明:
     方法的实现:
     
     所以: 通过分类给某一个类扩充方法, 也分为声明和实现两个部分
     
     // 分类的声明
     @interface ClassName (CategoryName)
     NewMethod; //在类别中添加方法
     //不允许在类别中添加变量
     @end
     
     ClassName: 需要给哪个类扩充方法
     CategoryName: 分类的名称
     NewMethod: 扩充的方法
     
     // 分类的实现
     @implementation ClassName(CategoryName)
     NewMethod
     @end
     
     ClassName: 需要给哪个类扩充方法
     CategoryName: 分类的名称
     NewMethod: 扩充的方法
     
     */
    int main(int argc, const char * argv[]) {
        Person *p = [[Person alloc] init];
        p.age = 30;
        [p say];
        
        [p playFootball];
        [p playBasketball];
        
        NSString;
        NSArray;
        return 0;
    }
    //  Person.h
    
    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    
    @property (nonatomic, assign) int age;
    
    - (void)say;
    
    @end
    //  Person.m
    
    #import "Person.h"
    
    @implementation Person
    
    //-(void)say
    //{
    //    NSLog(@"age = %i", _age);
    //}
    
    -(void)say{
        NSLog(@"age= %i",_age);
    }
    
    @end
    //
    //  Person+NJ.h
    
    #import "Person.h"
    
    @interface Person (NJ)
    // 扩充方法
    
    - (void)playFootball;
    
    - (void)playBasketball;
    
    @end
    //
    //  Person+NJ.m
    
    #import "Person+NJ.h"
    
    @implementation Person (NJ)
    // 实现扩充方法
    
    - (void)playFootball
    {
        NSLog(@"%s,%i", __func__,[self age]);
    }
    
    - (void)playBasketball
    {
        NSLog(@"%s,%i", __func__,[self age]);
    }
    @end
  • 相关阅读:
    xpath 笔记
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    机器学习 实验二 K-近邻算法及应用
    实验一 感知器及其应用
    JAVA学习路线
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验1:软件开发文档与工具的安装与使用
    ATM管理系统
  • 原文地址:https://www.cnblogs.com/yaowen/p/7436020.html
Copyright © 2011-2022 走看看