方法的命名规范 带参数的类的声明实现

来源:互联网 发布:usb网络共享驱动下载 编辑:程序博客网 时间:2024/06/03 23:04

OC基础day02

  • 创建类对象
类声明@interface Students : NSObject{    //成员变量    int _age;    float _score;    NSString *_name;}@end类的实现@implementation Student@end// 创建对象Student *xiaoMing = [Student new];// Student new],在内存中做的事情1. 在堆区在根据类的定义开辟空间2. 初始化成员变量/属性的值3. 返回这个空间的首地址
  • 无参数的方法声明实现调用
  • 定义一个学生类

    • 无参数方法声明:
        • (void)doHomework
        • (返回值类型)方法名;
    • 无参数的方法实现
     - (void)doHomework{    NSLog(@"抄作业....~"); }    - (返回值类型)方法名 "注意写代码的位置在哪? {    //实现 }
    • 创建对象调用方法
      • [对象名 方法名];

代码如下

  #import <Foundation/Foundation.h>    /*     Student     属性:名字,年龄,学号,成绩     方法:做作业,听音乐     */    @interface Student : NSObject    {        //成员变量        NSString * _name;        int _age;        int _sno;        float _score;    }    //方法的声明    //- (返回值类型)方法名;    /**     *  做作业方法的声明     */    - (void)doHomework;    /**     *  听音乐方法的声明     */    - (void)tingYinYue;    @end    @implementation Student    //方法的实现    /**     *  做作业方法的实现     */    - (void)doHomework    {        //实现        NSLog(@"抄作业....");    }    /**     *  听音乐方法的实现     */    - (void)tingYinYue    {        NSLog(@"听音乐 啊啊啊啊啊~~");    }    @end    int main(int argc, const char * argv[]) {        //    1.定义一个学生类(有方法)        //        //    2.创建对象调用方法        //类中的方法 不能直接调用        Student * zhangsanfeng = [Student new];//1.2.3        //格式 [对象名 方法名];        [zhangsanfeng tingYinYue];        [zhangsanfeng doHomework];        return 0;    }
  • 带一个参数的方法的声明实现调用
    • 有参数的方法声明
        • (返回值类型)方法名:(参数类型)参数名;
        • (void)eat:(NSString *)foodName;
    • 有参数的方法声明
    • 调用带一个参数的方法:
      • 方法 不能直接调用
      • [对象名 方法名:实际参数];
      • [wangCai dat:@”水”];
  • 代码如下
#import <Foundation/Foundation.h>    @interface Dog : NSObject    {        //成员变量        int _age;        NSString * _color;        NSString * _kind;    }    //吃东西的声明    - (void)eat:(NSString *)foodName;    //喝东西的声明    - (void)drink:(NSString *)drinkName;    @end    @implementation Dog    //吃东西实现    - (void)eat:(NSString *)foodName    {        //吃东西的实现        NSLog(@"主人 %@真好吃",foodName);    }    //喝东西的实现    - (void)drink:(NSString *)drinkName    {        NSLog(@"主人 %@真好喝",drinkName);    }    @end    int main(int argc, const char * argv[]) {        //方法不能直接调用,要有对象        Dog * wangcai = [Dog new];        //调用方法        [wangcai eat:@"shi"];        [wangcai drink:@"水"];        return 0;    }
  • **带多个参数的方法的声明和实现
    • 定义狗类 要求有两个参数的额方法
      • (返回值类型)方法名字:(参数类型)参数名1 :(参数类型)参数名2 :()….;
    • 方法调用
      • [对象名 方法名:实参1 :实参2];
  • 代码如下
/*     1.定义狗类,要求有两个参数的方法,又吃又喝,旺财会算术(只会算2个数的加法)     2.方法的调用     */    #import <Foundation/Foundation.h>    //    @interface Dog : NSObject    {        //成员变量        int _age;        NSString * _color;        NSString * _kind;    }    //又吃又喝 方法的声明    - (void)eatAndDrink:(NSString *)foodName :(NSString *)drinkName;    //求两个数的和的方法    - (int)sum:(int)num1 :(int)num2;    @end    @implementation Dog    //又吃又喝 方法的实现    - (void)eatAndDrink:(NSString *)foodName :(NSString *)drinkName    {        NSLog(@"旺财 一边吃着%@,一边喝着%@,还吧唧着嘴",foodName,drinkName);    }    - (int)sum:(int)num1 :(int)num2    {        int sum = num1 + num2;        return sum;    }    @end    int main(int argc, const char * argv[]) {        Dog * wangcai = [Dog new];        //调用2个参数的方法        [wangcai eatAndDrink:@"shi" :@"niao"];        int rel = [wangcai sum:10 :20];        NSLog(@"rel = %d",rel);        return 0;    }
  • 方法的命名规范
  • 建议格式:

      • (返回值类型)xxxWithxxx:(参数类型)xxx :andXxx(参数类型)参数名;
      • (void)readingWithBookName:(NSString )bookName andMusicName:(NSString )musicName;
    • [xiaohong readingWithBookName:@”金瓶梅” andMusicName:@”葫芦娃”];
    • 注意命名规范最主要的是能看懂就好 最好是一句话
  • 同一个类的多个对象之间毫无关系

    • 同一个类可有 无数个对象 对象之间是毫无关系的
    • 每一个对象 都有一份自己的成员变量 不收娶她对象的影响
    • 类 就像一张纸,对象通过图纸制造出来的东西

在方法的实现中直接访问属性
* 以_开头的方法叫做 对象方法
* 顾名思义 只有对象可以调用的方法
* 在”_”方法内部, 可以直接访问 属性, 那么访问的就是调用这个方法的对象的属性

“`

#import <Foundation/Foundation.h>@interface Pig : NSObject{    @public    NSString * _name;    int _IQ;//智商    float _weight;//体重}//叫:在这个方法中 喊出自己的名字 智商 和体重- (void)bark;@end@implementation Pig- (void)bark{    //在对象方法 的实现中可以直接访问属性    //谁调用 那么_name 就是谁的name    NSLog(@"我叫 %@,我的体重高达 %.2lf,我的智商低至%d",          _name,          _weight,          _IQ          );}@endint main(int argc, const char * argv[]) {    //创建一个 
0 0
原创粉丝点击