iOS学习笔记-Objective-C-类和对象

类的声明

@interface MyClass : NSObject
{
    //成员变量声明
    int count;
    id data;
    NSString* name;
}
//方法声明
 - (id)initWithString:(NSString*)aName;
 - (MyClass*)createMyWithString:(NSString*)aName;
@end
  • 类的声明由编译器指令 @interface 开始 @end 结束
  • Myclass -类名称
  • NSObject -父类名称 NSObject-OC提供的基类
  • {}中声明成员变量,{}外声明类的方法

类的实现

在类的接口完成(.h):
  1. 定义一个类
  2. 添加类的属性
  3. 添加类的行为(方法)
@interface Person : NSObject
{
    //{}内部添加当前类属性

    //字符串
    NSString *name;//姓名,NSString同样是一个类    
    //整型
    NSInteger age;//年龄,NSInteger是数值类型
    NSString *gender;
}
//{}外部添加当前类行为
//实例行为
//仅声明
- (void)sayHi;
@end

方法声明:

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
  • -方法类型标志符
    • 实例方法(-):由类的实例来执行。在调用实例方法之前必须先创建该类的实例。最常见。
    • 类方法(+):可有所在的类直接执行
    • (void)返回类型 ,insertObject/atIdex方法签名关键词
    • (id)/(NSUInteger)参数类型 , anObject/index参数名
类的实现(.m):
#import "Person.h"

@implementation Person

 - (void)sayHi
{
    //NSLog将字符串打印在控制台进行输出,类似于printf()
    NSLog(@"我的姓名是%@",name);
}
@end
  • 类的实现由编译器指令 @implementation 开始 @end 结束

创建实例对象

初始化方法

声明

//初始化方法
//希望通过初始化方法,能够获得一个Person类的实例对象,并且希望该对象具有自己的姓名属性
- (id)initWithName:(NSString *)_name;

实现

 - (id)initWithName:(NSString *)_name
{
    //1、分配内存,原始初始化 将内存内的变量都变为零
    self = [super init];
    //2、原始初始化成功之后,需要设置当前对象的姓名为形参
    if (self != nil) {
        name = _name;
    }
    //3、返回当前对象
    return self;

}
创建对象
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
    //1、创建Person类的实例对象
    //分配内存
    Person *person = [[Person alloc] initWithName:@"ChieLi"];
    //2.给person发送实例消息sayHi
    [person sayHi];
    return 0;
}
  • 通过分配并初始化对象来创建类。 为了分配对象,通过发送 alloc 消息给该对象的类,来获得一个“原始”(未初始化)的实例。
修改对象属性

通过添加设置器(setter)与访问器(getter)。
类.m

//设置器 setter
- (void)setName:(NSString *)_name
{
    name = _name;
}
//访问器 getter
- (NSString *)getName
{
    return name;
}

main.m

    //3、打印当前person实例对象的姓名是什么
    NSLog(@"person's name is %@",[person getName]);
    //4、修改当前实例对象的姓名
    [person setName:@"Jack"];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值