展开全部
面向对象是一种编程的方式..
就如同你思考问题的方式一样,是一种规则,方法..
好比 C语言的面向过程一样,它的着中点在于问题解决的过程,先干什么,接着干什么,最后干什么..比较明显的过程式,汇编更是面向对象编程的鼻祖..所以,它们很适合编写,像操作系统,嵌入式等这些与硬件亲近,且基本上不需要对程序进行较大修改的程序,用过程式就比较高效了.
而面向对象呢,它就不同于面向对象了,它的着重点在于,怎样表示程序中的对象,这样的程序很适合编写一些像游戏,ERP,等等这样的应用性软件.
举个例子..要写一段程序模拟大自然创造世界的程序:
如果,是过程式的编写方式,首先,创造宇宙,然后从宇宙的某个点开始,创造星系,将全部星系创造完毕,星系创造完毕,又从某个星系,开始创造该星系所有的子星系,完成后创造该星系中的其他子星系,将所有星系中的所有子星系全部创建完成之后,就开始在从整个宇宙中的某个星系中的子星系的某个星球开始,建立完整的生态体系,用地球做比喻,首先,建立细菌系,然后将细菌系分裂成动物,植物系列,动物系列,进行几何式分裂,形成几亿种生命形态..依次为宇宙中的每个星球建立生态体系,完毕之后,宇宙的过程式创造就完毕了..这种方式有个明显的不足的地方就是,当你在整个宇宙,创造完毕之后要加入一个新的星系,那对与程序员来说那将是灾难性的,而且,可扩展性极差..
再看看面向对象:
首先为宇宙中的基本对象建模,宇宙这个结构中半包含的成员
class 宇宙
{
class* 大星系;
class 宇宙真空空间;
public:
//宇宙能进行的动作
宇宙();
宇宙(宇宙& a); //复制宇宙..
void operator=(宇宙& a); //复制宇宙.
~宇宙(); //自动销毁宇宙..
void 增加星系(unsigned int 新增星系编号);
void 销毁星系(unsigned int 已有星系编号);
...
...
... //等等操作
};
class 银河系:public 大星系
{
};
class 太阳系:public 银河系
{
class 地球;
class 火星;
...
};
class 地球
{
class 动物;
class 植物;
class 地球的状态;
};
class 地球的状态
{
class 陆地;
class 海洋;
...
};
class 陆地
{
class 亚洲;
class 欧洲;
...
}
class 亚洲
{
class 中国;
class 印度;
class 蒙古;
...
};
class 中国
{
class 省区[31];
}
class 省区
{
class 市区;
...
};
class 市区;
{
string 省名;
int 人口;
double 面积;
...
}
将宇宙中所有这些对象建模之后,只需生成一个宇宙对象,咋们的宇宙不就生成了..而且你要加入新的星系,或者毁灭某个星系不就轻而易举,或者要在宇宙某个地方复制个地球,那还会有什么难呢?
但并不是说面向对象的编程方式就能完全没有过程式编程,那是不可能,好比,你把车子的所有部分造好了,你不组装起来,它又怎么可能开得起来呢,其实C语言中同样有面向对象,struct 就是C语言的对象组织方式,只不过再C++中它得到了飞升..
这两种编程的方式也没有 谁强谁弱的说法,如果,用Java去编写操作系统,无异于 用诸葛亮去单条吕布..反之,用汇编去编写网络游戏,无异与让张飞去考取状元,术业有专攻..
就如同你思考问题的方式一样,是一种规则,方法..
好比 C语言的面向过程一样,它的着中点在于问题解决的过程,先干什么,接着干什么,最后干什么..比较明显的过程式,汇编更是面向对象编程的鼻祖..所以,它们很适合编写,像操作系统,嵌入式等这些与硬件亲近,且基本上不需要对程序进行较大修改的程序,用过程式就比较高效了.
而面向对象呢,它就不同于面向对象了,它的着重点在于,怎样表示程序中的对象,这样的程序很适合编写一些像游戏,ERP,等等这样的应用性软件.
举个例子..要写一段程序模拟大自然创造世界的程序:
如果,是过程式的编写方式,首先,创造宇宙,然后从宇宙的某个点开始,创造星系,将全部星系创造完毕,星系创造完毕,又从某个星系,开始创造该星系所有的子星系,完成后创造该星系中的其他子星系,将所有星系中的所有子星系全部创建完成之后,就开始在从整个宇宙中的某个星系中的子星系的某个星球开始,建立完整的生态体系,用地球做比喻,首先,建立细菌系,然后将细菌系分裂成动物,植物系列,动物系列,进行几何式分裂,形成几亿种生命形态..依次为宇宙中的每个星球建立生态体系,完毕之后,宇宙的过程式创造就完毕了..这种方式有个明显的不足的地方就是,当你在整个宇宙,创造完毕之后要加入一个新的星系,那对与程序员来说那将是灾难性的,而且,可扩展性极差..
再看看面向对象:
首先为宇宙中的基本对象建模,宇宙这个结构中半包含的成员
class 宇宙
{
class* 大星系;
class 宇宙真空空间;
public:
//宇宙能进行的动作
宇宙();
宇宙(宇宙& a); //复制宇宙..
void operator=(宇宙& a); //复制宇宙.
~宇宙(); //自动销毁宇宙..
void 增加星系(unsigned int 新增星系编号);
void 销毁星系(unsigned int 已有星系编号);
...
...
... //等等操作
};
class 银河系:public 大星系
{
};
class 太阳系:public 银河系
{
class 地球;
class 火星;
...
};
class 地球
{
class 动物;
class 植物;
class 地球的状态;
};
class 地球的状态
{
class 陆地;
class 海洋;
...
};
class 陆地
{
class 亚洲;
class 欧洲;
...
}
class 亚洲
{
class 中国;
class 印度;
class 蒙古;
...
};
class 中国
{
class 省区[31];
}
class 省区
{
class 市区;
...
};
class 市区;
{
string 省名;
int 人口;
double 面积;
...
}
将宇宙中所有这些对象建模之后,只需生成一个宇宙对象,咋们的宇宙不就生成了..而且你要加入新的星系,或者毁灭某个星系不就轻而易举,或者要在宇宙某个地方复制个地球,那还会有什么难呢?
但并不是说面向对象的编程方式就能完全没有过程式编程,那是不可能,好比,你把车子的所有部分造好了,你不组装起来,它又怎么可能开得起来呢,其实C语言中同样有面向对象,struct 就是C语言的对象组织方式,只不过再C++中它得到了飞升..
这两种编程的方式也没有 谁强谁弱的说法,如果,用Java去编写操作系统,无异于 用诸葛亮去单条吕布..反之,用汇编去编写网络游戏,无异与让张飞去考取状元,术业有专攻..
展开全部
C++类的定义:
类是定义同一类所有对象的变量和方法的蓝图或原型
类也可以定义类变量和类方法。可以从类的实例中或者直接从类中访问类变量和方法。类方法只能操作类变量,不必访问实例变量或实例方法。系统在第一次在程序中遇到一个类时为这个类建立它的所有类变量的拷贝,这个类的所有实例共享它的类变量
C++对象的定义:
定义一个类就相当于创建了一个新的class类型。要使用类,还必须用已经定义的类去说明它的实例变量(即对象)。在C++中,class类型一旦被定义,它的实例变量(对象)就能被创建,并初始化,且能定义指针变量指向它。实例化的类就是对象
类和对象其实是C语言里的结构体的延伸,在C++里,struct 和 class其实本质上是一样的,唯一区别就是struct默认是公开的,class默认是私有的,公开时需要声明为public;还有就是C语言里的结构体,不能包含函数和继承,C++可以包含函数以及继承其他的类
类是定义同一类所有对象的变量和方法的蓝图或原型
类也可以定义类变量和类方法。可以从类的实例中或者直接从类中访问类变量和方法。类方法只能操作类变量,不必访问实例变量或实例方法。系统在第一次在程序中遇到一个类时为这个类建立它的所有类变量的拷贝,这个类的所有实例共享它的类变量
C++对象的定义:
定义一个类就相当于创建了一个新的class类型。要使用类,还必须用已经定义的类去说明它的实例变量(即对象)。在C++中,class类型一旦被定义,它的实例变量(对象)就能被创建,并初始化,且能定义指针变量指向它。实例化的类就是对象
类和对象其实是C语言里的结构体的延伸,在C++里,struct 和 class其实本质上是一样的,唯一区别就是struct默认是公开的,class默认是私有的,公开时需要声明为public;还有就是C语言里的结构体,不能包含函数和继承,C++可以包含函数以及继承其他的类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类,譬如说方言类。它有参数:词汇,语音,语法,分布地域。。。。。
对象,例如:
四川话,是方言类的一个对象。它有四川话的词汇,语音,语法,分布云贵川。
广东话,是方言类的一个对象。它有广东话的词汇,语音,语法,分布海内外。
上海话,是方言类的一个对象。它有上海话的词汇,语音,语法,分布长江下游。
对象,例如:
四川话,是方言类的一个对象。它有四川话的词汇,语音,语法,分布云贵川。
广东话,是方言类的一个对象。它有广东话的词汇,语音,语法,分布海内外。
上海话,是方言类的一个对象。它有上海话的词汇,语音,语法,分布长江下游。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要和类在一块说说。
类是对某些具有共同特征的事物的抽象。比如说一个班级里有许多同学,这些同学都会有名字、学号、年龄等特征。这时就可以定义一个classmate类,用这个类来描述一个同班同学的特征;另外还要实现几个操作,比如说更改名字,学号等等,初始化数据等。有了这些,一个类基本上就完成了。
把类说清楚了,对象就很容易说了。
对象就是类的实例。有了classmate类,就可以用它定义一个变量(沿用c里面说法),用这个变量具体的描述某位同学。实际上这个“变量”就是这位同学的对象。
以上就是我说能够描述的了,不知道对你能不能有帮助
类是对某些具有共同特征的事物的抽象。比如说一个班级里有许多同学,这些同学都会有名字、学号、年龄等特征。这时就可以定义一个classmate类,用这个类来描述一个同班同学的特征;另外还要实现几个操作,比如说更改名字,学号等等,初始化数据等。有了这些,一个类基本上就完成了。
把类说清楚了,对象就很容易说了。
对象就是类的实例。有了classmate类,就可以用它定义一个变量(沿用c里面说法),用这个变量具体的描述某位同学。实际上这个“变量”就是这位同学的对象。
以上就是我说能够描述的了,不知道对你能不能有帮助
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实这个问题我还是不晓得,但是可以上百度查一查就知道了哈!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询