什么是类?什么是对象 ?

什么是类?什么是对象 ?  你是否完全明白他们所代表的含义?

在真实世界中做对比的例子:人类=类,张三=对象 ;狗=类;我们家前几年死的大黄=对象 ;中国人=类;刘德华=对象 .........    很多很多例子,类的概念可以很大,也可以范围小一些,比如你可以把人类当做类,也可以把中国人、美国人或者男人、女人当做类,这就涉及到类的继承的概念了。

所以,不难理解,类和对象的关系就是“群体”和“个体”之间的关系,一个是概念,一个是实体,用时下很流行的“宫”的台词来诠释类:“你见或者不见我,类就在那里,不增不减~~~你用或者不用我,对象就在那里,不悲不喜......” ,明白了,你日常生活的时候你会说你想和中国人交谈,想和美国人喝茶吗 ?不会吧?  你一定会是想和某个具体的人来一起工作、生活、交流吧,同样的道理,在面向对象编程的时候,和业务直接相关的一定是对象,而不是类,类只是用来负责定义对象的形态,如何定义??类里的变量和常量表明了这个类以后的对象具备什么样的属性,相当于定义了人有四肢、有鼻子有眼睛......
;类里的函数(方法)表明了以后对象具备什么样的能力,或者说是能做什么~!就像人具备吃饭喝水做爱的能力一样。

我觉得理解了对象和类之间的简明关系,你的问题就不难解决了,什么时候需要创建类?

1.根据业务创建模型的时候,即你要写一个程序把大象放到冰箱里,那么你起码得创建三个类吧:一个大象类,一个冰箱类,还有一个能把大象放进冰箱里的某生物类吧

2.能在你的业务中被抽象出概念化业务的代码,可以组织成类。比如你的业务需要大量的开方、求阶乘等数学逻辑运算,虽然java的API都可以实现,但你每次使用都需要调用API自己写方法,那么当你发现你可以把你这些常用的方法写成公用的时候,你就会想为什么不把这些帮助性的工具函数封装在一个类里呢,调用的时候不也方便统一吗,这时候,你就抽象出了自己业务里的工具类,这个类,对你的业务来说,就是一个工具箱,完全符合以上说的类的特点。

3.和以上的工具类类似,有的时候一个业务处理是需要抽象一个类出来的,最后你的项目就会由上面说的这样大大小小无数个模型类、业务处理类、工具类所组成,仔细想想,这样是一个很棒的模式,就像流水线工厂里的流水线机器一样,各自做着自己专长的事情,不用考虑其他环节,我们所需要做的,就是如何将这些环节有效的组织在一起。

参考网站:http://zhidao.baidu.com/question/305471262.html?qbl=relate_question_0&word=%C3%E6%CF%F2%B6%D4%CF%F3

时间: 2024-12-28 14:18:02

什么是类?什么是对象 ?的相关文章

实体类和JSON对象之间相互转化

. [代码]工具类 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 package myUti

对【面向对象的类访问和对象访问的区别【this以及类访问】、静态成员的访问区别、类常量等、继承和重写、访问修饰限定符、冒泡排序】的总结

面向对象的总结1.首先面向对象的编程使用的都是使用对象作为处理对象而言[例如继承等情形,继承的本质来说,依旧针对的是对象]但是只有针对类的访问.静态成员以及访问修饰限定符时,针对的是类的概念 2.类内定义时,只有五种情形:类常量[const关键字定义并且使用类来调用]属性[这些属性和方法是针对该类实例的对象来调用]方法[在这种情形下使用$this进行指代作用环境(调用该方法的对象),只有继承中,子类实例的对象会向下传递到静态调用里]静态属性[用来作为实例该类的所有对象之间共享的数据.保存在类中]

java匿名类和匿名对象及this的其他用法

/* 匿名内部类:就是内部类的简写格式. 必须前提:内部类必须继承或者实现一个类或者接口. 匿名内部类其实就是一个匿名 子类对象. 格式:new 父类对象 or 接口(){ 子类内容:(覆盖父类的, 而且可以增加自己的方法) }//相当于将 继承父类 和 new 的过程 写到了一起有某有!很方便有某有! */ class Outer{ int num; public Outer(){ num = 5; } class Inner{ int num; public Inner(){ num = 1

CSS 伪类和伪对象选(五)

一.伪选择器 伪选择器包括:伪类选择器和伪对象选择器,以冒号(:)作为前缀,冒号后紧跟伪类或者伪对象名称,冒号前后没有空格,否则解析为包含选择器 如: div:hover{ font-size:12px;} /* div为指定标签名 hover选择符,伪类 或者 伪元素名 */ 伪选择器专门用来选择特殊区域或者特殊状态下的元素或者对象,这些特殊区域或者特殊状态是无法通过标签选择器,ID选择器或者类选择器进行精确控制的 二.伪类选择器和伪对象选择器 伪类 说明 :focus 定义对象在成为输入焦点

C++类的实例化对象的大小之sizeof()

之所以写这篇<C++类的实例化对象的大小之sizeof()>,是因为在参加笔试的时候遇到如下这么一道题,当时感觉就是这个一个坑,但,我还是义无反顾的跳了下去,因为存在知识点盲区啊.现,总结一下,你不知道的C++类的实例化对象的大小之sizeof(). class D { public: D() { } virtual ~D() { } private: int a ; char *p; }; 实例一: class A { }; A a; cout << sizeof(a) <

每天学一点Scala之 伴生类和伴生对象

1.  object 相当于class的单个实例,因此,在object里声明的变量都是静态变量,静态方法 2.  在object里声明的变量,都是全局变量,也就是类的公共属性,或者类似于java中父类的属性 3.  object里的构造器,也就是object 内部不在method中的代码,都属于构造器的内容 4. 同样,object的主构造器只会在第一次调用时执行,多次调用,只会执行一次. object使用场景 1.  单例模式 2.  工具类 伴生对象与 伴生类? 如果有一个class,还有一

java 类锁与对象锁(实例锁)同步问题

众所周知,synchronized可修饰方法和代码块,可作用于类或者对象. 当修饰代码块时,synchronized(object) 作用于对象,只约束该对象. synchronized(class)作用于类,约束类所有的对象. 修饰方法时,synchronized 修饰static方法时,作用于类.修饰非static方法时作用于对象. 注意类锁和对象锁是两个不同的锁,二者不会发生同步关系. 由于static变量,可被static方法调用,也可被非static方法调用,当二者同时被synchro

类属性和对象属性

类属性和对象属性定义 Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的管理方案. 对象的属性可能来自于其类定义,叫做类属性(class attribute).类属性可能来自类定义自身,也可能根据类定义继承来的. 一个对象的属性还可能是该对象实例定义的,叫做对象属性(object attribute). 对象的属性储存在对象的__dict__属性中. dir() 返回的仅是对象的属性的一个名字类表,而 __dict__ 返回的是

JavaSE8基础 instanceof 判断引用变量指向的是一个类的具体对象吗

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.eleven302; public class Demo { public static void main(String[] args) { Demo d = new Demo(); Javaer j = new Javaer(); //引用d指向的是Javaer类的具体

CSS内置的几个标准的伪类和伪对象

伪类和伪对象相信大家经常听到,有一部分同学会把这俩个搞混淆,其实我本人有时候也会.今天特地梳理了一下, 下面一一列出,看完后相信对这俩会有比较清晰的区分 伪类 用途 :link a连接标签的未被访问的样式 :hover 随想在鼠标移上时的样式 :active 对象被用户点击及被点击释放之间的样式 :visited a链接对象被访问后的样式 :focus 对象成为输入焦点时的样式 :first-child 对象的第一个子对象的样式 :first 对于页面的第一页使用的样式 伪对象 用途 :afte