OC语言学习 (二) 创建OC对象类、成员/静态变量、对象/类方法
来源:互联网 发布:ps软件ipad版 编辑:程序博客网 时间:2024/06/05 14:06
OC 面向对象
一般需要.h 和.m(或.mm 以后不赘述) 文件配合来创建类。
.h 使用@inteface 和@end ,在之间定义,变量和方法只能定义,不能初始化
下为 Student.h
@interface Student : NSObject //@interface声明。 没有@interface 只有@implementation也能定义一个类
{
@public //作用域 任意地方
int a;
@protected //当前及子类
int b;
@private //当前(包括.m)
int c;
@package //框架中都可访问,,,没用过
int d;
}- (void) aa; //- 对象方法 调用[stu aa]
+ (void) ab; //+ 类方法 调用[Student aa]
- (void) ac:(int)pa; //带一个int 型参数 pa [stu ac:pa]
- (int) ad:(int)pa ae:(int)pb; //多个参数,可以有多个方法名 [stu ad:pa ae:pb]
+ (int) af:(int)pa:(int)pb; //多个参数,只保留第一个方法名 [stu af:pa :pb]
@end
.m 使用@implementation 和 @end, 在之间定义。 变量和方法初始化的地方
下为 Student.m
#import "Student.h"
@implementation Student
{
int x; //这里定义的变量,没有修饰符为私有作用域。 一般也是用来定义隐藏信息的
}
- (void) aa
{
//使用成员变量
a = 8;
self->c = 9; //self指代自身
}
+ (void) ab
{
//静态方法中 不能调用成员变量
//可以使用静态变量
}
- (void) ac{}
- (int) ad:(int)pa ae:(int)pb{}
+ (int) af:(int)pa:(int)pb{}
@end
静态变量
静态变量 使用的是c/c++的方式。 static 声明,只在文件oc中就是类中访问,生命周期为整个应用程序,即在下次访问时,会得到上次变化的值。
static int x;
@implementation Student
//静态变量在 对象和类方法中都可使用
- (void) test1
{
x = 3;
}
+ (void) test2:(int)value
{
x = value;
}
@end
main.m
#import <Foundation/Foundation.h>
int main()
{
//初始化对象 先分配内存,再初始化
Student* stu = [Student alloc]; //调用方法以[]
stu = [stu init];
//初始化对象 分配并初始化
Student* stu1 = [[Student alloc] init];
//初始化对象 使用[Class new]
Student* stu2 = [Student new]; //OC2.0语法 ,new 先分配 后会调用默认的构造方法,即init方法
//调用public变量 @protected、@private、static变量在这都不可使用
stu->a = 3;
NSLog(@"a-value=%d", a);
//调用对象方法
[stu ac:3];
//调用静态方法
[Student af:pa:pb];
//Class 对象
Class stuClz1 = [Student class];
Class stuClz2 = [stu class];
//Class 对象调用静态方法
[stuClz1 ab];
return 0;
}
- OC语言学习 (二) 创建OC对象类、成员/静态变量、对象/类方法
- OC基础之创建OC对象类、成员/静态变量、对象/类方法
- 创建OC对象类、成员/静态变量、对象/类方法(★学习类的成员变量作用域,firecat推荐★)
- OC语言第二课 面向对象、类、对象、方法二——ios学习连载七
- OC基础 类方法,成员变量,静态变量,全局变量
- OC 类方法 对象方法 对象成员之间的关系
- oc 面向对象特性(实例成员变量作用域限定符,类变量和类方法)
- OC语言学习01-类与对象
- OC-oc语言简介,类和对象
- OC语言 OC初识-类与对象
- 黑马程序员-OC语言-创建一个对象并访问成员变量(听课笔记)
- OC(一)类、对象、属性、成员变量、方法(整理)
- OC语言之OC对象和方法
- oc学习笔记(二)面向对象-类和对象
- OC语言第一课 面向对象、类、对象、方法一 ——ios学习连载六
- OC学习日记03-类和对象(二)OC语言中的方法 、设置器与访问器、便利初始化函数与便利构造器
- javaScript【创建对象、创建类、成员变量、方法、公有和私有、静态】
- OC语言学习-面向对象
- 第十四周项目3-2:成绩单输出名单
- VB.NET版三层登录小例子
- 安卓图片分割(layer)的实现
- graphics.h
- SpannableStringBuilder和onTouchListener部分知识点认识
- OC语言学习 (二) 创建OC对象类、成员/静态变量、对象/类方法
- 关于python中出现no module named request的策略
- 大数据持久化 by gora
- Linux下C语言开发(已知进程名得到其PID号)
- [WebApi] 捣鼓一个资源管理器--服务器端分割压缩图片
- Java Ui设计中的常用方法
- java 数组
- Android开发之如何保证Service不被杀掉 这只是介绍少走弯路 必须用C/jni 实现守护进程 java是无法实现的
- Android4.4小内存开关和查看内存