发布于2024-12-16 阅读(0)
扫一扫,手机访问
展开全部
第一部分:# include
using namespace std;
class student
{
private:
string name;
int score;
public:
void setdata()
{cin>>name;
cin>>score;
}
void display()
{cout }; student stud1,stud2; int main () {stud1.setdate(); stud2.setdate(); stud1.display(); stud2.display(); return 0; } 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。 而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。 可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。 功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。 是面向对象,其实是想告诉你程序中一切皆为对象。 对象即是一个实体,在程序中定义为类。 从生活的角度来解释对象的话,那就是一个实体,每个实体都有自己的属性和方法。 最简单例子:人就是一个对象,他是一个实体。 人有性别,年龄,名字这些就是属性。(程序里属性是有值得) 人的行为就是方法,比如说吃饭,就是一种行为,听歌也是一种行为,这些在程序里就是方法。 面向对象是一种概念,理解了以后对编程有很大帮助。 我这里只是说的最基础的说明,程序里还有抽象,多态,接口等概念,这个还是需要你自己慢慢去摸索的。 这里我定义一个类,人,编程的时候最好起英文名,这里写中文方便理解 public class 人 { //开始定义属性 string name="王小二";//给名字赋值 string sex="男";//给性别赋值,下面依次类推 //这就是跑步的方法,即行为,行为势必是为了某个目的,那么方法就是来实现这种目的。 public void run() { 方法里就是去实现你目的的途径; } } 注:纯属个人理解,每个人理解可能都有些差异,仅供参考。在C语言中什么叫做面向对象什么叫做面向过程
什么是面对对象
上一篇:如何删除已安装的苹果驱动?
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店