A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Own 初级黑马 2015-3-18 14:55:49
21#
还没看到。。。。。
回复 使用道具 举报
面向对象,用句俗话来说就是:自己的事情自己做。这样做符合人类的思维习惯,也增加了提高了代码的复用性。
就拿吃饭来说:如果我们自己做饭,就是面向过程,要自己买菜,洗菜,炒菜,煮饭,到最后吃饭,这一系列的事情都是我们独立完成的,这个时候你必须知道从买菜到做饭这一系列的事情是怎么做的。
而如果到餐厅吃饭就像面向对象了,餐厅就是对象,我们只要到了餐厅点了菜,过半个小时,菜就上齐了能吃饭了,这样就减轻了我们的负担,我们并不需要知道是怎么做饭的怎么买菜的,使吃饭这件事更简单了。每个人都能去饭店吃饭,提高了代码的复用性。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
Micro 高级黑马 2015-3-18 15:20:57
23#
a380vs747` 发表于 2015-3-18 14:13
老师,给您留言版留言的问题,您能看到么?

看到了。。回复你了。我不是老师,我也是学生。一起加油。
回复 使用道具 举报
面向对象的思想,即把所有的事物都看做对象,万物皆对象,每一个对象都有自己的属性和行为,我们通过设置对象的属性和调用对象的方法来操控对象.
面向对象的三大特点是封装,继承,多态.
对象的特质是:具有唯一性,分类性,继承性,和多态性,
对象的要素在于抽象,封装,以及共享,

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 淡定

查看全部评分

回复 使用道具 举报
面向对象和面向过程是两个不同时思维方式,面向过程时,考虑的是怎么具体的实现每个最小的步骤。面向对象就是面向过程这么多小步骤的分类集合。我是这样理解的。
回复 使用道具 举报
还是初学这个东西,面向对象的感觉就是自己建成一个又一个的模块,然后把这些有功能的模块调用起来,建成自己想要的程序高楼,哈哈哈
回复 使用道具 举报
一、思想
  面向过程 :关注的是解决问题需要哪些步骤。
  面向对象 :关注的是解决问题需要哪些对象。

以人吃饭为例 ,面向过程 需要 拿碗 盛饭 吃
     
                面向对象 只需要人吃饭就行了 ,怎么吃不用管。

以类创建对象: 类名  一个类的名称         
               属性  类所包含的成员变量   如 身高体重
               方法  执行的行为           如 吃饭 睡觉 打豆豆

二、三大特性之封装

@public 可以让成员变量被外部访问 ,这不符合面对对象思想,我们用@private(私有)或@protected(默认当前类或

子类都可访问默认)限制外部对类的访问。通过set方法与get方法,让外部通过方法间接访问或使用内部变量。


三、三大特性之继承
  NSObject是一个基本类,类要创建对象必须继承这个基本类。
  继承一个类,子类将拥有父类的所有成员变量与方法。子类不能定义与父类的相同的成员变量,但可以重写方法。方法查找默认从子类开始查找再到父类。使用super可以直接从父类调用方法。self指向当前对象。

组合也可以拥有一个类的成员与方法,但创建该类的同时,也必须创建它所拥有的类,并用指针指向。
  
继承 :狗是动物; 狗继承动物
组合 :人拥有一条狗 。

三、三大特性之多态
  
  编译器会找到对象本身真真的那个对象。父类指针指向子类。
  如人养一条动物(可以是狗可以是猫) 那么用动物指针指向猫(或指向狗)都可以。而该指针可以调用真实对象的方法,不用我们人为判断。父类指针不可访问子类的成员变量(可运行但有警告),使用强制转换即可

评分

参与人数 1技术分 +2 收起 理由
Micro + 2 很给力!

查看全部评分

回复 使用道具 举报
要谈面向对象就要说说面向过程,我的理解是,面向对象和面向过程只是解决问题的两种思考方式
面向过程:它关注所要解决问题需要涉及的具体步骤,像C语言就是一条一条执行语句来实现具体的功能。
面向对象:它关注解决问题需要哪些对象。个人认为它是一种更加抽象的编程方法,更贴近现实的生活,它关注的焦点是问题的本身而不是语言。
举一个具体的例子来说:要建造一栋大楼,
面向过程的方法:关注具体的建造过程
1.打地基
2.垒砖
3.加盖
面向对象:关注需要哪些对象,由于建造师可以造楼所以只要找到建造师就行啦
建造师(对象)
    》打地基(方法)
    》垒砖 (方法)
    》加盖  (方法)
可以看出两种思想都能达到解决问题的目的,只是思考的方式不同,在举几个现实生活中的面向对象的其他例子:
1> 想打电话\发短信 --- 找手机这个对象,不用分析电话拨通及通话的具体过程,这些由运营商做好了,我们只管找到终端也就是手机这个对象用它的打电话方法就可解决问题。
2>去饭店吃饭--找服务员这个对象,不用分析这个菜怎么做的这个过程
3> 电脑坏了   -- 找电脑修理工这个对象,不用分析你这电脑是修硬件还是修软件以及怎么修,找到他就可把电脑帮你修好。
总之面向对象跟贴近我们生活中遇到的问题。

评分

参与人数 1技术分 +2 收起 理由
Micro + 2 很给力!

查看全部评分

回复 使用道具 举报
对象都有一个指针指向它。 对象相比基本数据类型,内容更丰富,可以有自己的成员变量,可以将一些代码封闭成起来,形成自己的方法,提高了安全性,提高 了代码的复用性。
回复 使用道具 举报
编程思想的发展,是从面向过程到面向对象。面向过程,简称OPP,它是以事件为中心,事件是核心,列出了完成事件的每一个步骤,一步一步完成。面向对象,简称OOP,它是以事物为中心,参与事件的事物是核心,完成事件只是事物的一个小任务。面向对象侧重于从问题在寻找客体、客体的作用。客体间的关系即“谁”、“做什么”、“怎么做”,面向过程侧重于问题的分解即“事件怎么做”。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 淡定

查看全部评分

回复 使用道具 举报
面向对象是具体的实例(它里面有很多属性),而面向过程是实例(属性)的构成,记得李老师讲OC时里面有个表那张图片, 面向对象就是那个表的外表,面向过程就是那个表的心脏。。
回复 使用道具 举报
希望可以顺利入学
回复 使用道具 举报
个人理解,面向对象是从一个对象为单位,去考虑事情,比如说小明踢足球,那么这个过程按照面向对象的方法,可以把小明作为一个对象,足球作为一个对象来拆分。而不去想小明怎么去踢。

评分

参与人数 1黑马币 +2 收起 理由
Micro + 2 赞一个!

查看全部评分

回复 使用道具 举报
面向对象的设计。可看做五子棋,整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。可以明显地看出,面向对象是以功能来划分问题,这样设计出来的所谓面向对象的程序有良好的可移植性和可扩展性。

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 赞一个!

查看全部评分

回复 使用道具 举报
程序员?面向对象编程?——别逗了,没对象你编毛的程啊
回复 使用道具 举报
面向对象更加贴近生活,符合人们的思考方式,只需要关心解决问题所需要的东西,而把解决问题的方法交给系统,因为系统已经把他们都封装好了(程序员的功劳),所以使用过程变得更加简便,比如手机界面,用户只需要点几下就OK啦。

评分

参与人数 1黑马币 +2 收起 理由
Micro + 2

查看全部评分

回复 使用道具 举报
我的自行车爆胎了
面向过程:将自行车放倒->拆轮胎->抽出内胎->找漏气点->打磨内胎->上胶水->补胎->把内胎塞回去->装轮胎->OK
面向对象:找一个修车店(创建对象),他补胎(调用方法),把自行车给它(对象当参数给他),OK,So easy.

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
说说我的理解,面向对象就是直接把所有事物都当作独立的对象,处理问题过程中所思考的不再主要是怎样用数据结构来描述问题,而是直接考虑重现问题中各个对象之间的关系。可以说,面向对象革命的最重要价值就是在于改变了人们看待和处理问题的方式。:):)

评分

参与人数 1黑马币 +3 收起 理由
Micro + 3 赞一个!

查看全部评分

回复 使用道具 举报
面向过程就是上面的一段话,得一步步执行,面向对象里重要的对象就是黑马币啦,创建一个黑马币类,command+c然后command+v........
回复 使用道具 举报
面向对象和面向过程都是一种编程的方法或者说是思想。面向过程以函数为模块,将一个大的问题分解成一个个小的问题,然后这些小的问题用函数实现,强调的是功能性。而面向对象提供了一种和现实世界很容易映射实例对象,这样在软件设计阶段的模型和开发时候的模型基本是一致的,大大简化了问题,利于大型编程。

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 淡定

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马