首页 > 代码库 > 面向对象编程

面向对象编程

////////////////////////////////////
////////////////////////////////////
////////////////////
面向对象编程

面向对象的概念
定义
指一种程序设计的范型
大幅度提高软件项目的成功率
降低维护费
提高可移植性和可靠性

面向对象的三个主要特征
封装性
多态性
继承性

面向对象和面向过程的差别
面向过程
强调的是功能行为
关注的是解决这个问题须要哪些步骤
面向对象
将功能封装进对象,强调了具备功能的对象
关注的是解决这个问题须要那些对象
面向对象是基于面向过程的


类和对象
OC中描写叙述事物通过类的形式实现,类是多个同种类型事物的抽象
比如1:施工图纸,能够看作是房子的类
张三的房子(对象1)李四的房子(对象2)
比如2:汽车图纸,能够看作是类
依照图纸生产的汽车(对象)
比如:学籍系统:学生类和学生张三、李四之间的关系
全部的学生都有姓名、年龄、班级等信息
我们也能够改动学生的姓名、年龄、班级信息
所以能够把学生的姓名、年龄、班级抽象——学生类的属性
把对学生姓名、年龄、班级的改动和实现——抽象成学生类的方法
把学生张三、李四——学生类对象
类经过实例化之后——对象
(1)类和对象之间的关系 
类有三部分组成
类的名称:类名
类的属性:一组包括数据的属性
类的方法:同意对属性中包括的数据进行操作的方法
对象:(Object)
是系统中基本执行的实体
对象是类类型的变量
定义了一个类,就能够创建这个类的多个对象
一个类就是具有同样类型的对象的抽象
比如:
人的类设计:仅仅关心3样东西
事物名称(类名):人(person)
属性:身高(height)年龄(age)
行为(功能):跑(run)、打架(fight)

比如:芒果、苹果和桔子都是Fruit类的对象
(2)怎样把日常生活中的事物抽象成程序中的类
拥有同样(或者类似)属性和行为的对象都能够抽象出一个类
方法:一般名词都是类(名词提炼法)
坦克发射3颗炮弹轰掉了2架飞机
坦克类 炮弹类 飞机类

小明在公交车上牵着一条叼着热狗的狗
人的类 公交类 热狗类 狗
试着将以下的画面中的事物抽象成类

技术分享
玛丽
子弹
墙体
怪兽
图片
箱子(棕色、黄色)没写出来原因:把墙和箱子看做一个类

愤慨的小鸟

技术分享
	
石头
木板
小鸟
图片

植物大战僵尸

技术分享
植物
僵尸
太阳
子弹
小车
图片	

团购:
商品
			

思考&实现1:

1)试着将以下的实体抽象成类(注意类包含:类名、属性、方法)
老师:
类名:Teacher
属性:姓名、年龄、教龄、所教的课程、工资
行为:上课、批改作业、考试
僵尸:
类名:Walking_dead
属性:攻击力 血量
行为:跳、吸血
电脑
类名:computer
属性:生产商、型号、cpu、内存、显卡...
行为:上网、看电影、看视频
学生
类名:Student
属性:学号、姓名、成绩、职务
行为:翘课 、谈恋爱、打游戏
书本:
类名:Book
属性:出版社、重量、页码、作者
行为:阅读

面向对象编程