黑马程序员——类和对象


第一讲 类的声明和实现
一.类的声明
1.关于类的几个名词
(1)类:
.h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end
注意:
.h中的方法只是做一个声明,并不对方法进行实现,即只是说明一下方法名,方法的返回值类型,方法接收的参数类型而已,并不编写方法内部的代码。
.m:类的实现文件,用于实现.h中声明的方法、类的实现使用关键字@implementation和@end
方法:
(2)方法
方法的声明和实现,都必须以+或者-开头
+表示类方法(静态方法)
-表示对象方法(动态方法)
在.h中声明的所有方法作用域都是public类型,不能更改
(3)成员变量(实例变量)
成员变量的常用作用域有三种
@public:全局都可以访问
@protected:只能在类内部和子类中访问
@private:只能在类内部访问
2.类的声明(规定当前类的:类名、属性、行为)
@interface 类名:父类名
{
    //定义类的属性
}
//类的行为
@end
例如:车的类的声明
@interface car:NSObject
{
   //类的属性
  int lunzi;
  NSString *color;
  int speed;
}
//类的行为(方法)
@end
二.类的实现
@implementation 类名
   //行为的具有实现
@end
例如:
@implementation Car
//行为的具体描述
@end

           第二讲 创建一个变量并访问成员变量
一.在oc中创建一个对象
创建对象语句:[Car new];
1.此语句做了三件事:
(1)向计算机申请内存空间
(2)给类中的每一个成员初始化值
(3)反悔申请的空间的首地址
2.Car *p=[Car new];
理解方式一: 定义了一个Car,类型的指针变量,指针变量指向新申请的内存空间;
理解方式二:用Car类实例化了一个实例对象,对象的名称是p
二.访问成员变量
1.车类的声明改为如下:
<span style="font-size:14px;">@interface Car:NSObject
{
   //@public;
    int lunzi;  //车的轮子
    NSString *color;//车的颜色
    int speed;  //车的速度
}
//类的行为
@end</span>
2.访问成员变量
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建Car类型的对象 car1
        Car *car1=[Car new];
        //创建一个对象 实质还是指针 (用指针间接访问实例变量值)
        car1->lunzi = 3;
        car1->speed = 150;
        car1->color = @"蓝色";  
        //查看车的信息
        NSLog(@"轮子:%d,速度:%d ,颜色:%@",car1->lunzi,car1->speed,car1->color);   
    }
    return 0;
}



1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值