• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

黑 马 程 序 员_视频学习总结 Objective-C ----01 面向对象思想、类和对象、面向对象 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 ---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

 

一、面向对象

1、 面向对象和面向过程思想区别

OC为面向对象、C为面向过程。实质是解决问题的两种不同的思想。面向过程关注的是步骤,面向对象关注的是解决问题需要的对象。

2、 常用术语

面向过程:Procedure Oriented
面向对象:Object Oriented 简称OO
面向对象编程:Object OrientedProgramming 简称OOP

3、 怎样创建对象

类:描述属性、行为。是对无数个相同属性的对象的描述,是抽象的。
对象:具体化类。

4、 类的设计(3步骤)

1>类名字(命名规范:第一个字幕必须大写、不能用 下划线、多个英文单词必须用驼峰标志)
2>属性
3>行为(功能)

5、 类的划分

名词一般都是类。一般拥有相同属性和行为的对象都可以抽象成一个类。

6、 例子

植物大战僵尸中的僵尸类
类名:Zoombie
属性:life(生命值)speed(速度) gongjili(攻击力)
行为:walk(走) bite(咬) die(死亡)
雷电游戏中的飞机
类名:Plane
属性:life(生命值)gongjili(攻击力) speed(速度) bombCount(炸弹数量)
行为:fly(飞)bomb(爆炸) shoot(射击) die(死亡)

 

二、类和对象

1.类: 类的设计只关注三个东西:类名、属性和方法。类的声明使用关键字@interface和@end。类的实现使用关键字@implementation和@end。

2.方法的声明和实现,都必须以 + 或者 - 开头

  • + 表示类方法(静态方法)
  • - 表示对象方法(动态方法)

3.在.h中声明的所有方法作用域都是public类型,不能更改

4.成员变量常用作用域有3种:

1> @public 全局都可以访问
2> @protected 只能在类内部和子类中访问
3> @private 只能在类内部访问

 

三、类的声明和实现的练习

1.创建一个Person类

类的声明:

 

类的实现:

主函数

 

四、常见错误

1.@interface  @end和@implementation  @end不能嵌套包含

2.只有类的声明没有类的实现

3.漏写@end

4.两个类的声明嵌套(可以把顺序打乱)

5.成员变量没有写在{}里

6.方法的声明写在了{}里面

7.在声明时对类的成员变量进行初始化,请注意成员变量不能脱离对象而独立存在

8.方法无法像函数那样的调用

9.成员变量和方法不能用static等关键字修饰,不要和c语言混淆

10.类的实现可以写在mian函数后面,在使用之前只要有声明就可以

 

五、OC对象与函数有着本质的区别:

1.方法的实现只能写在@implementation··@end中,对象方法的声明只能写在@interface···@end中间

2.对象方法都以-号开头,类方法都以+号开头

3.对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用

4.函数属于整个文件,可以写在文件中的任何位置,包括@implementation··@end中,但写在@interface···@end会无法识别,函数的声明可以再main函数内部也可以在main函数外部。

5.对象方法归类\对象所有

6.函数调用不依赖与对象

7.函数内部不能直接通过成员变量名访问对象的成员变量

 

六、类和方法的设计

设计一个工具类:一个计算器类,要求(1)返回π,(2)计算两个整数的和,(3)计算某个整数的平方。

类的声明部分

类的实现部分

 七、面向对象方法

1.对象方法

1>对象方法以-开头如 -(void)xx;

2>对象方法只能又对象来调用

3>对象方法中可以访问当前对象的成员变量

4>调用格式   [对象名  对象方法名]

2.类方法

1>类方法以+开头  如+(void)put;

2>类方法只能由类来调用

3>类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储类中的成员变量。

4>调用格式:[类名  类方法名];

5>类方法的好处和适用场合:

不依赖于对象,执行效率更高;

能用类方法解决的问题,尽量使用类方法;

场合:当方法内部不需要使用到成员变量时,可以改为类方法。

3.方法名

1>不带参数的方法

声明:

调用:

2>带参数的方法

声明:

调用:

 注意:冒号也是方法名的一部分。

 

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

详细请查看:www.itheima.com


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C Runtime III【objc_msgSend函数】发布时间:2022-07-12
下一篇:
objective-c几何类常用方法整理发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap