类的定义
@interface FirstClass :NSObject
@end
//@interface表示声明的是一个类,“:”表示继承关系,@end类的结束
类的实现
@implementation FirstClass
方法的声明
+(void)print;
-(id)init;
//"+"表示声明的是一个类方法,由雷鸣调用
//“-”表示声明的时实例方法,必须由类的对象来调用
//不带参数的方法在调用时,会使用隐藏的self参数来访问实例变量的属性。
声明带参数的方法:
+(void)initWithName:(类型) 变量名and:(类型) 变量名 A:(类型) 变量名;
OC中带参数的方法声明比较怪异,红色部分均为方法名,:表示后面跟的是参数。也即该方法的实际名称是initWithNAme:and:A:
方法的调用
[FirstClass print];
//通过类名调用类方法
FirstClass *node=[FirstClass alloc]init];//生成FirstClass的对象
[node initWithName:@"codebat" andAge:21];//调用参数的函数
属性与变量
属性是oc语言的一个新的机制,要求我们必须声明与之对应的实例变量。
成员变量的声明
@interface FirstClass : NSObject
{
    //类的成员变量,默认访问权限为protect
    int m;
    double n;
    char c;
    float f;
}
//成员变量在{}中定义,一旦声明后可以在本类的实现文件.m文件中直接使用,相当于这个类里面的全局变量
属性 
//成员变量在{}中定义,一旦声明后可以在本类的实现文件.m文件中直接使用,相当于这个类里面的全局变量
在声明部分使用@property定义属性   
@property(参数)类型 变量名;
@property(nonatomic,strong);//非基本类型用strong
@property(nonatomic,assign);//基本类型assign
在实现部分使用@synthesize合成属性
@synthesize 变量名; 
@synthesize name=_name;//_name是name的一个实例  
参数
读写属性:readwrite/readonly 
内存属性:assign/retain/copy/strong,copy是内容拷贝,retain是指针拷贝
原子属性:atomic/noatomic,nonatomic禁止多线程,变量保护提高性能
OC中的三种访问权限控制符 @protected,保护实例变量只能被该类及该类的子类中定义的方法访问; @private,保护实例变量只能被该类中的方法访问; @public,该修饰符后面的变量可以被所有类或模块定义的方法直接访问。

对Objective-C相关的类、方法、属性、成员变量介绍的更多相关文章

  1. 笔记-python-lib-requests常用类/方法/属性

    笔记-python-lib-requests常用类/方法/属性 1.      requests模块常用类/方法/属性 在使用中发现对requests模块不够熟悉,写了几个案例后重新整理了一下文档,罗 ...

  2. 测试 Java 类的非公有成员变量和方法

    引言 对于软件开发人员来说,单元测试是一项必不可少的工作.它既可以验证程序的有效性,又可以在程序出现 BUG 的时候,帮助开发人员快速的定位问题所在.但是,在写单元测试的过程中,开发人员经常要访问类的 ...

  3. java 编程基础 Class对象 反射 :获取类的构造方法,方法,成员变量,内部类,外部类,父类,实现的接口,修饰符等...

    类 Class  每个类被加载之后,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类. 我们在Java中获取Class对象一般有三种方式: (1), 使用C ...

  4. final 关键字:用来修饰类,方法,成员变量,局部变量

    final 关键字:用来修饰类,方法,成员变量,局部变量 表示最终的不可变的 1.final修饰一个类 表示当前的类不能有子类,也就是不能将一个类作为父类 格式: public final class ...

  5. 假如java类里的成员变量是自身的对象

    假如java类里的成员变量是自身的对象,则新建该类对象时内存中怎么分配空间,我感觉似乎死循环了. 不过我想的肯定是错的,因为很多类的成员变量是自身对象,并且绝对无错,举个例子: Class A{ pr ...

  6. java类里的成员变量是自身的对象问题

    今晚看单例模式饿汉时想到一个问题:假如java类里的成员变量是自身的对象,则新建该类对象时内存中怎么分配空间,我感觉似乎死循环了.于是上网搜索了下,哈哈,果然有人早就思考过这个问题了,站在巨人的肩膀上 ...

  7. android 20 Intnet类重要的成员变量

    Intnet类重要的成员变量: <intent-filter> <action android:name="android.intent.action.MAIN" ...

  8. 福利->KVC+Runtime获取类/对象的属性/成员变量/方法/协议并实现字典转模型

    我们知道,KVC+Runtime可以做非常多的事情.有了这个,我们可以实现很多的效果. 这里来个福利,利用KVC+Runtime获取类/对象的所有成员变量.属性.方法及协议: 并利用它来实现字典转模型 ...

  9. PHP判断{函数/类/方法/属性}是否存在

    1.php判断系统函数或自己写的函数是否存在 bool function_exists ( string $function_name ) 判断函数是否已经定义,例如: if(function_exi ...

随机推荐

  1. ionic下拉加载自动触发

    ionic提供的下拉加载,是要滑动去下拉加载,没有提供api自动触发下拉加载,比如刚进页面,或者切换tab时想触发一次下拉加载. 添加如下service: angular.module('YourAp ...

  2. Android-Activity使用(2) -传值

    一.简单传值 1.修改MainActivity protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns ...

  3. VMware下安装虚拟机Ubuntu14.04 Server设置桥接方式

    我本地的采用的上网方式的拨号上网,IP段是一公网下的通过路由设置的局域网,网段182.18.1.* 本地连接包含以下: 其中无线上网卡的.WMware桥接是自定义的局域网IP段:192.168.253 ...

  4. Web3D编程入门总结——面向对象的基础Web3D框架

    本篇主要通过分析Tony Parisi的sim.js库(原版代码托管于:https://github.com/tparisi/WebGLBook/tree/master/sim),总结基础Web3D框 ...

  5. Java中String类的方法及说明

    String : 字符串类型 一.      String sc_sub = new String(c,3,2);    //      String sb_copy = new String(sb) ...

  6. java-mvc

    定义 一种开发模式 Model-View-Controller Model 模型层 实体类.DAO(模型层实现数据库访问和业务逻辑) Controller 控制层 Servler.Filter(控制层 ...

  7. jQuery选择器和事件

    选择器 常用事件 绑定与解除绑定 事件目标与冒泡 自定义事件

  8. SGU 455 Sequence analysis(Cycle detection,floyd判圈算法)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=455 Due to the slow 'mod' and 'div' operati ...

  9. 使用compass自动合并css雪碧图(css sprite)

    本文转载自: 使用compass自动合并css雪碧图(css sprite)

  10. 智能家居常用WiFi模块

    WiFi模块 WiFi模块就是整个系统的控制中心,控制很简单,就是输出一个开关信号控制继电器,而这个模块的核心是WiFi的连接,手机连接WiFi时需要扫描,输入密码,而这类本身没有屏幕和键盘的硬件设备 ...