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;
    }
  • 相关阅读:
    学习进度第三周
    四则运算3
    学习进度第二周
    单元测试
    四则运算2
    学习进度第一周
    四则运算1
    构建之法阅读笔记01
    linux: 讨论一下网络字节序--------大端与小端的差别
    linux编程:线程条件同步
  • 原文地址:https://www.cnblogs.com/yaowen/p/7436964.html
Copyright © 2011-2022 走看看