• 【好程序员训练营】Objective-C学习笔记(类的声明)NO1


    <A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流!

    一、OC中类的声明

      先在Xcode中新建一个类文件,命名为Dog.h,然后按以下格式进行类的声明

    #import<Foundation/Foundation.h>        //相当于C中引入头文件
    
    @interface Dog:NSObject{
    
    
    
    }
    
    @end

    上面的代码中Dog后面的冒号表示继承,继承自基类NSObject,在类的声明中字段(相当于java中的属性)只能在左花括号和右花括号之间定义,消息(在Objective-C中把函数称作消息)只能在右花括号与@end之间定义。一般来讲,在类的OC中声明类时相当于java中定义一个接口。

    二、类的实现

      新建类文件命名为Dog.m并在文件中键入以下代码

    #import "Dog.h"                 //将新建的接口引入 
    
    @implementation Dog         //实现Dog这个接口    
    
    - (id) init{                           //复写初始化函数
        self = [super init];           //这一句的意思是把父类中的初始化函数赋给本类
            age = 20;
        }
        return self;
    }
    
    
    - (int) getage{                 //获取age
        return age;
    }

    - (int)setage:(int)newage{ //这个函数的名字叫setage: 第一个int是函数的返回值类型第二个int是形参newage的类型
      age = newage;
      return age;
    }
    @end

    这样一来,我们就把一个接口实现了。也就是我们有Dog这么一个类了接下来就该创建对象。在上面的代码中函数前面的+、-分别代表类函数和实例函数,(id)id代表函数的返回值类型,可以为void、int、float等等

    三、对象的创建与销毁

      创建对象-----》Dog  *dog = [Dog alloc];    //*dog相当于创建dog这么一个引用指向新建的小狗对象

      初始化构造函数--------》[dog init];

      销毁对象---------》[dog release];

    四、函数的调用

      注意,Xcode判断是否为init方法规则:方法返回id,并且名字以init+大写字母开头+其他  为准则。例如:- (id) initWithXXX;

      否则在使用编译的时候会出现error:Cannot assign to 'self' outside of a method in the init family

      现在,假设我们已经在Dog类中建立了一个函数-(int)setage:(int)newage;

      调用-------》int x = [dog setage:23];     //调用dog对象的setage方法,把int型返回值赋给x

  • 相关阅读:
    基于BIM与点云数据的塔吊仿真系统记录
    ModuleNotFoundError: No module named 'imgaug'
    ifc地形数据测试
    Command 'protoc' not found, but can be installed with
    运行错误
    java遍历目录下的目录和文件
    给输出框编号
    pytorch yolov5两块gpu训练日志
    matlab atan2
    执行的命令
  • 原文地址:https://www.cnblogs.com/ITLiu/p/4539630.html
Copyright © 2020-2023  润新知