IOS基础入门OC语言Xcode Day03笔记:类和对象的创建和使用

本文详细介绍了在Objective-C中如何定义类和创建对象,包括类的三要素、类的声明与实现语法,以及如何通过类模板创建对象并访问其属性。同时,提供了一个学生类的例子,展示了属性的设置与访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Xcode Day03:类和对象的创建和使用

1、现有类还是对象
从现实角度,一定是先有对象再有类
从代码角度,一定是先有类再有对象

2、类的作用:描述一群具有相同特征和行为的事物

3、类的定义
1)类的三要素

2)定义类的语法
	a、位置:直接写在源文件之中,不要写在main函数之中

	b、类的定义分为两个部分
		—>类的声明
#import<Foundatin/Foundation.h>

@interface Person : NSObject
{
	NSString *name;
	int age;
	float height;
}
@end
		@interface 类名 : NSObject
		{
			数据类型 变量名1;
			数据类型 变量名2;
			…..
		}
		功能就是一个方法,将方法的声明写在这里
		@end
		
		—>类的实现
@implementation Person
@end
		@implement 类名
		将方法的实现写在这里
		@end

3)注意
	a、类必须要有声明和实现
	b、类名用你描述的事物的名称来命名就可以了
	      类名的每一个单词的首字母必须大写开头
	c、用来表示这类事物的共同特征的变量必须要定义在@interface的大括弧之中
	e、定义在大括弧之中用来表示这类事物的共同特征的变量我们叫做属性/成员变量/实例变量/字段…..

4、类是无法使用的,如果非要使用这个类的话,就必须先找到这个类中的一个具体存在,再使用这个对象
类和对象的关系:类中有的东西,这个类中的对象也有,不会多也不会少,这个时候我们就可以使用对象里面的东西…
创建对象:

int main(int argc,const char * argv[])
{
	Person *p1 = [Person new];
	return 0;
}
	语法:类名 *对象名 = [类名 new];

		Person *p1 = [Person new]
		
		根据Person这个类的模版,创建了一个对象的名字叫做p1
		p1对象的特点:
		—>可以直接使用
		—>类中定义的东西,这个对象中也有,不会多也不会少

5、如何使用对象

如何访问对象属性:
1)默认情况下,对象的属性是不允许被外界直接访问的
     如果允许对象的属性可以被外界访问,那么就再声明属性的时候加一个@public关键字

2)访问对象的属性方式
int main(int argc,const char * argv[])
{
	Person *p1 = [Person new];
	p1->name = @"阚志华";
	p1->age = 19;
	p1->height = 178.5f;

	NSLog(@"p1对象的name属性的值是%@",p1->name);
	//NSString:字符串    %@:打印的是指针变量指向的对象	%p:打印的是指针变量的值
	//CGfloat:浮点值的基本类型   %f
	//NSInteger:整型   %d
	return 0;
}
对象名—>属性名;
对象名—>属性名 = 值;
Person *p1 = [Person new];

(*p1).name = @"阚志华";
(*p1).age = 25;
(*p1).length = 18.f;
(*对象名).属性名;

6、练习:写一个学生类,属性 年龄 语文成绩 数学成绩 英语成绩

@interface Student : NSObject
{
	NSString *name;
	int gae;
	int yuwen;
	int shuxue;
	int yingyu;
}
@end

@implementation Student

@end

int main(int argc,const char * argv[])
{
	Student *s1 = [Student new];
	s1->name = @"阚志华";
	s1->age = 25;
	s1->yuwen = 98;
	s1->shuxue = 100;
	s1->yingyu = 99;

	NSLog(@"s1对象的姓名是%@,年龄是%d 语文成绩是%d 英语成绩是%d",
		s1->name,
		s1->age,
		s1->yuwen,
		s1->shuxue,
		s1->yingyu
	);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值