黑马程序员技术交流社区

标题: 什么事对象,对象的生命周期是怎样的? [打印本页]

作者: 红龙果    时间: 2013-6-2 12:25
标题: 什么事对象,对象的生命周期是怎样的?
求指导啊。面向对象编程,其中的对象是什么,如何来提取一个对象,对象的生命周期又是怎么样的哦?
作者: 胡章诚    时间: 2013-6-2 13:11
本帖最后由 胡章诚 于 2013-6-2 13:14 编辑

能力有限,我只能给你说说“对象”
“面向对象编程”是与“面向过程编程”相对的
面向过程的编程,就是想C语言那样,以函数为基础分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现
面向对象的编程,就是就是以功能模块来划分问题,分别实现每一个模块,然后将模块组合起来成为一个整体。
详细了解可以看看这篇评论:http://zhidao.baidu.com/question/2089034.html  
对“对象”的理解: 对象是类的实例,首先我们要知道类的意思。 类:比如说“人”就是一个类,“人”不是具体存在的东西,他是表示一类事物,我们可以简单定义人的组成为:头、手、身体、腿,这些东西就描述了人的特征。
而一个叫小明的小朋友就是“人”的一个实例,他是“人”这一类事物中的具体一个,我们就可以说小明是一个对象。   
作者: 李云飞    时间: 2013-6-2 13:21
在面向对象编程中,一切皆对象。对象是属性及其操作(方法)的封装体。我们可以将现实生活中一个叫张三的人看做是一个对象,他有性别,年龄,出生地等属性以及会说话,会走路的方法。我们在面向对象编程时,只要找到了一个对象我们就可以使用他的属性及方法。例如:我们要将一头大象关进冰箱在面向过程编程时,我们基本上要经历3步。1、把冰箱门打开2、将大象装入冰箱3、关上冰箱门。而面向对象编程时,我们只要有一个冰箱对象,冰箱对象就可以调用冰箱的开门、装入、关门方法“自动”的讲一头大象装入其中。因为一个对象比我们程序员更加清楚自己有什么属性及方法。说到底面向对象编程也是面向过程编程,只是在面向对象编程时它把一个个的过程用对象封装了。
以上是我对面向对象编程的理解,如有不妥请大家指出。大家彼此学习,共同进步。向着黑马的大门一步步迈进!谢谢
作者: 一直在努力    时间: 2013-6-2 13:36
本帖最后由 一直在努力 于 2013-6-2 13:41 编辑

面向对象中。万事万物皆可抽象为一个对象。三个概念,封装,多态,继承。。

一个对象中有属性,也就体现了封装。

一个对象中有方法,也就是行为

继承。

是一个对象能继随对应的属性,方法。

多态

即重写,或是说父类能调用子类的方法。。

当然在一个类中,你要理解。构造承数,重载,一个对象如果是继承父类。会先调用父类的构造函数后调用子类的

当然。如果没有写构造函数,系统会帮你自动生成,如果写了。就不会

C#中也有析构函数。只是弱化了

我能想到的就这么多了


作者: 彭家贰小姐    时间: 2013-6-2 13:37
对于面向对象 概念 -- 网上搜搜 有 这里不说
至于对此的理解 建议楼主 可以将其生活化
举个身边的例子(我所在的开发组 一个主管 20个成员)
如果一个项目下来了 主管是非常有能力的人 从需求的撰写--> sa的分析-->代码编程-->测试检测...都是主管一个人来做的话 这就是主管在面向过程
面向过程的他 是个执行者
然而 他也可以面向对象 这里谁是对象呢 就是我们这些20个成员 我们是个整体 这个整体具备很多功能 包括需求的撰写 分析 编程 测试等等
他安排我们做事 他这个时候 就是面向对象的 面向对象的他 是个指挥者 在使用对象的功能

想想身边的事物 其实 你都可以理解 对象了 也就可以理解 什么叫面向对象了

如果你想在代码中创建一个对象的话 那么 你就要理解类与对象的关系
你可以将类理解成对对象的描述
举个代码的例子吧
我现在要实现一个功能 此功能是 在页面初始化的时候 对系统进行一些验证 包括(人员编号的变量 系统xml配置的验证 license版权的验证 人员基本讯息的验证 是否重复登录的验证)
就可以将这个又包含变量 又包含方法的整理 理解成一个类
类写好后 你在后台就可以new一个类 产生一个对象实体
  1. /// <summary>
  2. ///Class1 的摘要说明
  3. /// </summary>
  4. public class Class1
  5. {
  6.         public Class1()
  7.         {
  8.                 //
  9.                 //TODO: 在此处添加构造函数逻辑
  10.                 //
  11.         }

  12.         //人员编号的变量

  13.         //系统xml配置的验证方法

  14.         //license版权的验证方法

  15.         //人员基本讯息的验证方法

  16.         //是否重复登录的验证方法
  17. }
复制代码
然后就可以
var ClassValidate= new Class1();
ClassValidate.方法了

这仅仅是我的理解 希望对你可以有帮助......
作者: 一直在努力    时间: 2013-6-2 13:40
彭家贰小姐 发表于 2013-6-2 13:37
对于面向对象 概念 -- 网上搜搜 有 这里不说
至于对此的理解 建议楼主 可以将其生活化
举个身边的例子(我所 ...

你也信彭?
作者: 彭家贰小姐    时间: 2013-6-2 13:43
一直在努力 发表于 2013-6-2 13:40
你也信彭?

是的 姓彭
正在为加入黑马而努力中......
作者: 轮回    时间: 2013-6-2 15:23
类、对象。“人”是类,“张三”是“人”这个类的对象。类是抽象的,对象是具体的。按钮就是类,某个按钮就是对象。对象可以叫做类的实例。
类就像int,对象就像10。
字段(和类相关的变量),字段就是类的状态。
人这个类有姓名、年龄、身高等字段。
类不占内存,对象才占内存。
作者: 一直在努力    时间: 2013-6-2 23:46
彭家贰小姐 发表于 2013-6-2 13:43
是的 姓彭
正在为加入黑马而努力中......

是的……难得见到同姓的
作者: 王洪磊    时间: 2013-6-3 13:08
类是抽象的概念,比如说“人类”,“汽车、车类”;对象是具体存在的某个实物,比如说“张三李四”,“张三的汽车”。
类是模子,确定对象将会拥有特征(属性)和行为(方法)。类也就是对象的类型,张三属于人类,张三的汽车属于车类。
人类 张三,在C#中相当于 int 10。
这些是我做的笔记,希望对你有所帮助。对于“对象的生命周期是怎样的?”这个问题我还没学到,我在网上查了查,你看看对你有帮助没。
对象的生命周期打个比方:盖房子时候 进来个老鼠老鼠一只生活在房子里边,要是房子没了  老鼠也没了  因为老鼠自己不会出来




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2