• 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
  • 相关阅读:
    DAY67-前端入门-javascript(十三) vue03
    DAY66-前端入门-javascript(十二) vue02
    DAY65-前端入门-javascript(十一) vue01
    DAY64-前端入门-javascript(十)bootstrap
    第二篇 Flask的Response三剑客及两个小儿子
    第一篇 Flask初识
    vue+uwsgi+nginx部署luffty项目
    Nginx负载均衡
    集群概念
    Flask框架实现给视图函数增加装饰器操作示例
  • 原文地址:https://www.cnblogs.com/yaowen/p/7436020.html
Copyright © 2020-2023  润新知