黑马程序员——类和对象


第一讲 类的声明和实现
一.类的声明
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;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据类型需要和JavaBean类中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值