zoukankan      html  css  js  c++  java
  • 李洪强iOS开发之OC[018]对象和方法之间的关系

    //

    //  main.m

    //  18 - 对象和方法之间的关系

    //

    //  Created by vic fan on 16/7/14.

    //  Copyright © 2016 李洪强. All rights reserved.

    //

    /**

     *

     OC有参有返回值的方法

     有参有返回值方法的声明

     - (int)sum:(int)x andY:(int)y;

     

     - (int)sum:(int)x andY:(int)y{

     

     return x+y;

     

     关系

     1 对象作为方法的参数;

     显示人的信息的方法

     - (void)showPerson:(Person *)person;

     2 对象作为方法的返回值

     变性方法

     - (Person *)changeSex:(Person *)person;

     

     *

     

     */

     

     

    #import <Foundation/Foundation.h>

    /**

     *  类的声明

     */

    /**

     定义性别枚举

     */

    typedef enum{

        // 0        1       2

        kSexWomen,kSexMan,kSexYao

        

    }Sex;

     

    @interface Person : NSObject{

        @public

        NSString *_name;//姓名

        int _age;//年龄

        Sex _sex;//性别

    }

    /**

     *  方法的声明

     */

     - (void)showPerson:(Person *)person;

     - (Person *)changeSex:(Person *)person;

     

    @end

     

    @implementation Person

     

    - (void)showPerson:(Person *)person{

        NSLog(@"姓名: %@,年龄: %d,性别: %d",person->_name,person->_age,person->_sex);

        

    }

     

    - (Person *)changeSex:(Person *)person{

        person->_sex = kSexWomen;

        return person;

    }

     

    @end

     

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            /**

             *  创建对象

             */

            Person *p = [Person new];

            /**

             *  给对象的实例变量赋值

             */

            p->_age = 18;

            p->_name = @"周杰伦";

            p->_sex = kSexMan;

            /**

             *  调用方法

             */

            [p showPerson:p];

            NSLog(@"性别:%d",p->_sex);

            Person *p2 = [p changeSex:p];

            NSLog(@"性别: %d",p2->_sex);

            

            

        }

        return 0;

    }

  • 相关阅读:
    [LeetCode] 493. Reverse Pairs 翻转对
    [LeetCode] Super Washing Machines 超级洗衣机
    [LeetCode] Perfect Number 完美数字
    [LeetCode] 483. Smallest Good Base 最小的好基数
    [LeetCode] Sliding Window Median 滑动窗口中位数
    [LeetCode] Diameter of Binary Tree 二叉树的直径
    [LeetCode] 01 Matrix 零一矩阵
    [LeetCode] Convert BST to Greater Tree 将二叉搜索树BST转为较大树
    [LeetCode] Reverse String II 翻转字符串之二
    [LeetCode] Minimum Time Difference 最短时间差
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5672150.html
Copyright © 2011-2022 走看看