zoukankan      html  css  js  c++  java
  • oc63--协议@protocol1

    //
    //  SportProtocol.h
    //  day17
    #import <Foundation/Foundation.h>
    
    @protocol SportProtocol <NSObject>
    // 方法声明列表
    - (void)playFootball;
    - (void)playBasketball;
    - (void)playBaseball;
    @end
    //
    //  Person.h
    //  day17
    
    #import <Foundation/Foundation.h>
    #import "SportProtocol.h"  //相当于拷贝了一份方法的声明
    @interface Person : NSObject <SportProtocol>  //继承了协议,就有了协议里面所有方法的声明。继承实类默认就有实现,继承协议没有实现,
    @end
    //
    //  Person.m
    //  day17
    
    #import "Person.h"
    
    @implementation Person
    
    - (void)playFootball
    {
        NSLog(@"%s", __func__);
    }
    
    - (void)playBasketball
    {
        NSLog(@"%s", __func__);
    }
    
    - (void)playBaseball
    {
        NSLog(@"%s", __func__);
    }
    @end
    //
    //  main.m
    //  day17
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    #import "Student.h"
    #import "Teacher.h"
    
    int main(int argc, const char * argv[]) {
    
        Person *p = [Person new];
        [p playFootball];
        [p playBasketball];
        [p playBaseball];
        
        Student *stu = [Student new];
        [stu playBaseball];
        
        
        Teacher *tea = [Teacher new];
        [tea playBasketball];
        
        return 0;
    }
  • 相关阅读:
    where field in
    看看 高考
    高分的标准
    UCOS-消息邮箱(学习笔记)
    UCOS-互斥信号量(学习笔记)
    UCOS-信号量(学习笔记)
    RVMDK的DEBUG调试-实时数据查看
    OSTimeDelay(1)
    STM32中断控制及优先级设置
    MODBUS-RTU学习
  • 原文地址:https://www.cnblogs.com/yaowen/p/7436964.html
Copyright © 2011-2022 走看看