Objective-C学习1

      首先,我要说的是,想要学好Objective-C(以下简称OC)就必须要有C语言的基础,因为OC是C语言的一个超集;OC是面向对象的语言.[C语言是面向过程的语言],OC中的好多语法和C语言中类似,OC也完全可以兼容C语言,实现混编;所以想学好OC,最好是有C语言的基础。(如果有C++的基础或者思想,就更能学好OC)

       1.OC中文件都是以.m的文件存储的,声明文件同c一样也是.h文件;

个人提醒:不管是C还是OC最好都要用驼峰标识来些标识符

创建类:

类名:首字母一般都是大写

定义类的步骤:
        1,定义类名;2,编写类的属性--->(实例变量) ;3,编写类的行为--->方法;

提示:一般类名最好与文件名一样,方便程序员们的理解;一般类下的属性声明 用下划线开头,原因是这里声明的是全局变量,方便与局部变量中的关键词重名;这里只能声明变量,不能赋值;

方法的定义:

-(void)method : (int) arguments;

-(方法类型:实例方法,也叫对象方法)

+(类方法)

(void)返回值;没有返回值是void;

method 方法名;

(int《类型》):参数类型括起来;

arguments:参数名;

-------

方法定义分为:不带参数:如-(void)shoping;

带一个参数:void(shoping):(float)price;

带两个参数:void(shopping):(float)price :(float)weight;

-----------------------------

方法的实现:
在.m中@implementation

//在这里写方法的实现;

-(void)shopping:(float)price{

NSLog(@"我正在shopping!");

}

@end;

然后在main函数中应用

#import "Person.h"

int main(){

//通过类名创建对象;

//Person *person = [Person alloc];

//person = [person init];

//alloc 是在内存中申请一块空间区域,来存放此对象的信息;

//下边调用init方法初始化一些默认数据;

Person *person = [[Person alloc] init];//将两个步骤嵌套在一起;

//左边是【通过类类型】声明变量;右边是创建对象;

 } 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//上节:定义类;用类创建对象;

-——————————————

还有一种创建对象方法:

Person * person2 =[Person new];(OC中不建议使用这种方式)

一般使用这种方式:Person *person1=[[Person alloc] init];

_______________________

调对象里的方法;

-开头的为:实例方法【或叫对象方法】;    +:类方法;

-开头的必须有对象;(如person1)

在main中执行到此↓:
[person1 shopping:200];//200为参数
就会进入到shopping函数中;
//这就是调用了这个shopping这个实例方法;实例方法必须有对象才能调用;
//通过类能创建很多方法出来;

----------------------------------

创建完对象person1;

设置名字和年龄;

没有办法直接设置名字和方法,只能通过方法来设置属性

设置名字方法:-(void)setName:(NSString *)name;//方法描述:设置属性 name;

实现:在.m文件中:

-(void)setName:(NSString *)name{

        _name = name;

}

----------------------------------

再回到main中设置名字:

[person1 setName:@"张三"];//把张三字符串传入到name函数中,name再把张三传给_name;

-----------------------------------

属性:又叫成员变量,又叫全局变量,又叫实例变量;全局变量所有的方法中都能用;

————————————————

 专门设置属性的方法:叫做设置器方法或者叫set方法;
在外部获取属性的方法:叫做获取器方法(get方法);有返回值;

-----------------------------------

 比如-(NSString *)name;
 
-(NSInteger)age;
实现:
 -(NSString *)name{
return _name;
}
-(NSInteger)age{
return _age;
}
调用:NSString *name1 = [person1 name]

+++++++++++++++++++++++++++++++++++++++++++++  

之前都是一个参数的方法;今天学多个参数的方法

—————————————————

-(void)setName:(NSString *)name setAge:(NSInteger *)age;//《方法名有两个部分:setName和setAge》;setAge在这里可以省掉(但是不推荐用);

实现:-(void)setName:(NSString *)name setAge:(NSInteger *)age{

_name = name;

_age = age;

}//一般不会这样定义,这里只是用于演示;一般都是一个变量定义一个设置方法

调用:[person1 setName:@"张三" setAge:22];【对象调用方法!】

————————————————

【在.m和.h间切换】command+cotrl+上下键;tab键能补全我们为写完的关键字或标识符;

————————————————

方法类型:-对象方法, +类方法;

+:类方法

用类名去调方法;称之为类方法;
方法描述:是用于创建一个Person对象的;
定义类方法:+(Person *)newPerson;
实现类方法:+(Person *)newPerson{
Person *p = [[Person alloc] init];
//这里可以初始化一些变量
//[p setName:@"zhangsan" setAge:22]
}
调用类:Person *person3 = [Person newPerson];

--------------------------------

如果没有创建对象,就不能使用属性;

实例对象都没有,哪儿来的属性?

要想使用,必须要有对象;

//在类方法中无法访问属性;

属性:谁调的方法 属性就属于谁;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

补充对象的创建;
创建一个对象的时候,里面的成员变量并没有初始化,那它们默认是什么呢?
@interface Person :NSObject
int _Age;

//系统默认为其初始化为:Byte:0;short:0;int:0;long 0L;char:\u0000' ;float:0.0F;double:0.0D;Bollean:FALSE;所有指针:nil;

@end 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值