美文网首页
9.面向对象与函数

9.面向对象与函数

作者: Maserati丶 | 来源:发表于2019-01-05 17:07 被阅读0次

课程来自慕课网Visitor.zc老师


面向对象与函数
  • main.m
#import <Foundation/Foundation.h>
#import "People.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 调用方法使用 []
        People *p1 = [[People alloc] init];
        [p1 report];  // name:visitor age:18
        int res1 = [p1 showWithA:10];
        NSLog(@"res1=%d",res1);  // res1=10
        int res2 = [p1 showWithA:10 andB:20];
        NSLog(@"res2=%d",res2);  // res2=30
        
        People *p2 = [[People alloc] initWithName:@"Admin" andAge:30];
        [p2 report];  // name:Admin age:30
        return 0;
    }
}
  • People.h
#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
@interface People : NSObject
/*
 -: 对象方法 使用对象名调用
 +: 类方法 使用类名调用
 
 (void) report - void: 函数返回值类型
 (int)a - (int): 参数类型  a: 参数名
 
 函数名 - 1.report: 2.say: 3.showWithA 4.showWithA: andB:
 */
- (void) report;
+ (void) say;
- (int) showWithA:(int)a;
- (int) showWithA:(int)a andB:(int)b;
// 初始化方法
- (instancetype) init;
// 自定义初始化方法
- (instancetype) initWithName:(NSString *)name andAge:(int)age;
@end

NS_ASSUME_NONNULL_END
  • People.m
#import "People.h"

@implementation People
{
    NSString *_name;
    int _age;
}

- (void) report
{
    //NSLog(@"report");
    //_name = @"reporter";
    
    NSLog(@"name:%@ age:%d",_name,_age);
    // 对象方法中调用类方法
    //[People say];
}

+ (void) say
{
    // 加号方法(类方法)无法调用成员变量
    NSLog(@"say something");
    
    // 类方法中调用对象方法,需要实例化
    //[[People alloc] report];
}

- (int) showWithA:(int)a
{
    return a;
}

- (int) showWithA:(int)a andB:(int)b
{
    return a + b;
}

- (instancetype)init
{
    self = [super init];
    if (self) {
        _name = @"visitor";
        _age = 18;
    }
    return self;
}

- (instancetype) initWithName:(NSString *)name andAge:(int)age
{
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}
@end

相关文章

  • 9.面向对象与函数

    课程来自慕课网Visitor.zc老师 面向对象与函数 main.m People.h People.m

  • 2、面向对象

    一、面向对象 定义:面向对象是基于面向过程的。 面向对象与面向过程比较:面向过程:面向过程是以函数为基础,完成各种...

  • 030_wz_hm_面向对象(OOP)基本概念

    面向对象基本概念 面向对象编程——Object Oriented Programming简写OOP 过程与函数 我...

  • Python基础知识7 20190425

    9.面向对象 (OOP) 面向过程:顺序执行,只有执行,没有返回值,特点是侧重怎么做,就是在主程序中调用不同的函数...

  • 【面向对象一】从面向过程到面向对象写函数方法的进化

    [目录] 面向过程写函数什么是面向过程?什么是面向对象?【面向过程】和【面向对象】写函数的不同【面向过程】写函数的...

  • 6,Python面向对象1

    一,面向过程与面向对象 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够...

  • 9.面向对象

  • iOS 去 Model 化

    面向对象思想的朴素理解 面向过程,针对功能的实现做了封装,也就是函数 面向对象,再次对函数进行了封装。 对象,函数...

  • python-day14

    一、面向对象编程 编程思想:1.面向对象编程 --> 算法,逻辑2.函数式编程 --> 函数3.面向对象编程 ...

  • java基础知识第十四天

    1.面向对象 (1).面向对象与面向过程的区别 面向过程就是分析解决问题所需要的步骤,然后用函数吧这些步骤...

网友评论

      本文标题:9.面向对象与函数

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