黑马程序员_面向对象简介
来源:互联网 发布:光盘复制软件 编辑:程序博客网 时间:2024/05/29 18:09
黑马程序员_面向对象简介
今天学习了面向对象的理论基础,虽然有些枯燥,但是明白了许多的概念。
一、面向对象和面向过程思想
Objective-C语言是面向对象的,C语言是面向过程的。
面向对象和面向过程只是解决问题的两种不同思想。
1、面向对象和面向过程的区别
1)以电脑听歌为例
面向过程关注的是解决问题需要多少的步骤
->打开电源
->播放电脑中的歌曲
->关闭电脑
面向对象关注的是解决问题需要哪些东西(对象)
->电脑(对象)
--->开机
--->播放歌曲
--->关机
2)区别分析
->面向过程关注的是解决问题需要哪些步骤;面向对象关注的是解决问题需要哪些对象
->没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的;但是解决思路不一样。
2、现实生活中面向对象的例子
->打电话发短信->找手机;不用分析电话要怎样打
->去饭店吃饭->找服务员;不用分析怎么到厨房炒菜
->汽车坏了->找汽车维修工;不用分析修车的步骤
境界:万物皆对象
常用术语
->面向过程Procedure Oriented
->面向对象Object Oriented,简称OO
->面向对象编程Object Oriented Programming,简称OOP
二、类和对象的关系
面向对象中有两个非常重要的概念:类和对象
1、如何创建对象
1)面向对象解决问题的时候必须有对象,如何创建对象
2)现实生活中的例子:如何制造汽车对象
a)首先要有汽车的建造图纸,图纸上描述清楚汽车应该具备的属性和功能(行为)
->属性:轮子数、时速
->功能(行为):跑
b)然后再根据图纸上的描述生成汽车
c)每一辆汽车都是对象, 都有自己具体的属性值,都是图纸的实例
d)图纸是抽象的,汽车是具体的,图纸是汽车对象的高度概括
2、Objective-C中的面向对象
1)OC中的类相当于图纸,用来描述一类事物,也就是说,要想创建对象,必须先有类
2)OC利用类创建对象,对象是类的具体存在
3)因此,面向对象解决问题应该是先考虑需要设计哪些类,再利用类创建多少个对象
3、需要设计哪些类,如何设计类
1)类的设计只关心3样东西
->事物名称(类名):人(Person)
->属性:身高(Height)、年龄(age)
->行为(功能):跑(run)、打架(fight)
2)一般名词都是类
->坦克发射3颗炮弹轰掉了2架飞机
类:坦克、炮弹、飞机
->小明在公车上牵着一条叼着热狗的狗
类:狗、热狗、公车、人
3)拥有相同(或者类似)属性和行为的对象都可以抽象出一个类
->愤怒的小鸟游戏界面
类:鸟、猪、炸弹、木板、箱子、石头、岩石、山峰
->植物大战僵尸
类:阳光、向日葵、地鼠、豌豆、食人花、坚果、僵尸、卡牌、车、草皮、炮弹
->新浪微博
类:九宫格、格子、选择图标、搜索框、图片
4)类名、属性、
三、类的设计
1)、类名:
* 类名的第一个字母必须大写;
* 不能有下划线;
* 如果有多个英文单词,用驼峰标识
2)、属性
3)、行为(功能)
2、植物大战僵尸
* 类名:Zoombie
* 属性:life、speed、gongJiLi、
* 行为:walk、bite、die
3、雷电的飞机:
* 类名:Plane
* 属性:life、gongJiLi、speed、bombCount
* 行为:fly、bomb、shoot、die
4、电脑
* 类名:Computer
* 属性:band、expireDate
* 行为:open、close
注意:哪个对象最清楚这个行为,就把这个行为写到那个对象中去;
打开电脑(开机)这个行为应该是属于电脑的。
- 黑马程序员_面向对象简介
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- 黑马程序员_面向对象
- centos文件目录结构
- this的用法(class.this)
- 黑马程序员——Collection集合
- SublimeText2 快捷键一览表
- [linux内存]伙伴系统学习笔记(三)--分配器API
- 黑马程序员_面向对象简介
- XP下部同iP段共享打印机
- TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)
- Linux crontab 命令格式与详细例子
- 求两个链表结点组成的数之和
- HDU--1059 Dividing
- USACO frac1直接排序
- 《统计学习方法》学习笔记八
- Extjs4 嵌入百度地图