美文网首页八天学会OC
第07天OC语言(01):协议基本概念

第07天OC语言(01):协议基本概念

作者: liyuhong | 来源:发表于2017-07-22 09:22 被阅读14次
  • 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?

1.知道什么是协议,如何使用协议

学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

适合所有人,不需要懂的什么


一、本章笔记
/*
 protocol
 
 @interface 类名 : 父类<协议名称1,协议名称2>
 @end
 */
二、code
main.m
#pragma mark 01-协议基本概念
#pragma mark 概念
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#import "Student.h"
#import "Teacher.h"
#pragma mark - main函数
int main(int argc, const char * argv[])
{
    
    Person *p = [[Person alloc]init];
    [p playFootball];
    
    Student *s = [[Student alloc]init];
    [s playBasketball];
    
    Teacher *t = [[Teacher alloc]init];
    [t playBaseball];
    return 0;
}

Person
>>>.h
#import <Foundation/Foundation.h>
#import "SportProtocol.h"
@interface Person : NSObject<SportProtocol>
//- (void)playFootball;
@end
>>>.m
#import "Person.h"

@implementation Person

- (void)playFootball
{
    NSLog(@"%s",__func__);
}
- (void)playBasketball
{
    NSLog(@"%s",__func__);
}

- (void)playBaseball
{
    NSLog(@"%s",__func__);
}
@end

Student
>>>.h
#import <Foundation/Foundation.h>
#import "SportProtocol.h"
@interface Student : NSObject<SportProtocol>

@end

>>>.m
#import "Student.h"

@implementation Student
- (void)playFootball
{
    NSLog(@"%s",__func__);
}
- (void)playBasketball
{
    NSLog(@"%s",__func__);
}

- (void)playBaseball
{
    NSLog(@"%s",__func__);
}
@end

Teacher
>>>.h
#import <Foundation/Foundation.h>
#import "SportProtocol.h"
@interface Teacher : NSObject<SportProtocol>

@end

>>>.m
#import "Teacher.h"

@implementation Teacher
- (void)playFootball
{
    NSLog(@"%s",__func__);
}
- (void)playBasketball
{
    NSLog(@"%s",__func__);
}

- (void)playBaseball
{
    NSLog(@"%s",__func__);
}
@end

Dog
>>>.h
#import <Foundation/Foundation.h>
#import "SportProtocol.h"
@interface Dog : NSObject<SportProtocol>

@end

>>>.m
#import "Dog.h"

@implementation Dog
- (void)playFootball
{
    NSLog(@"%s",__func__);
}
- (void)playBasketball
{
    NSLog(@"%s",__func__);
}

- (void)playBaseball
{
    NSLog(@"%s",__func__);
}
@end

相关文章

  • 第07天OC语言(01):协议基本概念

    不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 1.知道什么是协议,如何使用协议 学习前:你...

  • OC语言day07-01协议基本概念

    pragma mark 协议基本概念 pragma mark 概念 pragma mark 代码 Person.h...

  • 总结:八天学会OC语言(上)

    day1 OC语言day01-01OC的简介(附C语言知识点回顾)OC语言day01-02C和OC的对比OC语言d...

  • (精)十天学会C语言(下)

    Day06 第06天C语言(00)笔记总结第06天C语言(01):进制转换-基本概念第06天C语言(02):进制转...

  • 面试题

    Swift和OC的区别? 1.swift是静态语言,有类型推断,OC是动态语言。2.swift面向协议编程,OC面...

  • 第08天OC语言(01):NSArray基本概念

    不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? NSArray的基本使用 学习前:你必须会什...

  • 第06天OC语言(01):autorelease基本概念

    不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 1.能知道什么是autoreleasepoo...

  • 第03天OC语言(01):封装基本概念

    不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 什么是封装,封装有什么好处 学习前:你必须会...

  • ios面试

    一、OC与Swift的区别 1.swift是静态语言,有类型推断,OC是动态语言。2.swift面向协议编程,OC...

  • swift面试题

    一.Swift和OC的区别? 1.swift是静态语言,有类型推断,OC是动态语言。 2.swift面向协议编程,...

网友评论

    本文标题:第07天OC语言(01):协议基本概念

    本文链接:https://www.haomeiwen.com/subject/anrfkxtx.html