【黑马程序员】OC基础-类

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


一、OC是面向对象语言

          面向过程就是分析出解决问题需要的步骤,使用的时候一个一个依次调用。
 
       面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
       面向对象是以功能来划分问题的。


二、类和对象

          类(class)是具有相似内部状态和运动规律的实体的集合。

       对象(object)即指现实世界中各种各样的实体。

       消息(message)消息是指对象间互相联系和互相作用的方式。

          类的声明与实现
          @interface (类的声明)
          使用格式:
@interface 类名:父类名或者NSobject
 {
  成员变量;
}
   方法声明;
@end
          方法的声明在类的.h后缀文件中进行

          @implmentation(类的实现)
          使用格式:
@implmentation 类名
    方法行为具体实现
@end
          方法的实现在类的.m文件中进行

          方法:
          方法分为类方法和对象方法
          类方法用"+"开头,类方法为静态方法,只能由类来调用,不能访问成员变量。它不依赖对象,执行效率高
          对象方法用"-"开头,对象方法为动态方法,只能由对象来调用,可以访问当前对象的成员变量
          使用格式:
+/-(类型说明符)方法名:(参数类型)参数名{
        方法步骤;
}

          成员变量:
          成员变量常用的作用域有三种
          1)@public  全局都可以访问
          2)@protected 只能在类内部或子类中访问
          3)@private 只能在本类中访问
          成员变量默认的作用域是@protected

          对象的实例化:
          为类创建一个对应的对象
          使用格式:
类名 对象名 =[类名 new];
          [类名 new]是[[类名 alloc]init] 的简写
          它做了3件事:
          1)向计算机申请内存空间
          2)给类中的没一个成员初始化值
          3)返回新申请的空间的首地址

          例:
          Person.h类的声明
#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    NSString *_name;
    int _age;
}
+(void)Say;
-(void)Say1;
@end
          Person.m类的实现
#import "Person.h"

@implementation Person
+(void)Say{
    NSLog(@"我是类方法");
}
-(void)Say1{
    self->_name = @"对象方法";
    self->_age = 1;
    NSLog(@"我叫%@,今年%d分钟了",self->_name,self->_age);
}
@end
          main.m主函数
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        [Person Say];
        Person *p = [Person new];
        [p Say1];
    }
    return 0;
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值