面向对象程序设计论文

合集下载

软件工程课程设计小论文之面向对象技术

软件工程课程设计小论文之面向对象技术

软件工程课程设计小论文之面向对象技术logo软件工程小论文题目《面向对象技术》专业班级:小组成员:指导教师:完成时间: 2012 年X月X日XXXX学院目录引言 (1)1、程序设计语言1.1面向对象语言的优点 (1)1.2面向对象语言的技术特点 (2)1.3选择面向对象语言 (4)2 面向对象的程序设计风格2.1 提高可重用性 (5)2.2 提高可扩充性 (7)2.3 提高健壮性 (7)3 面向对象的测试3.1面向对象的单元测试 (8)3.2面向对象的集成测试 (8)3.3面向对象的确认测试 (8)4 小结个人感想 (9)参考文献 (10)摘要面向对象方法学把分析、设计和实现很自然地联系在一起了。

实现的结果和实现成本却在很大程度上取决于实现环境。

因此,直接支持面向对象设计范式的面向对象程序语言、开发环境及类库,对于面向对象实现来说是非常重要的。

为了把面向对象设计结果顺利地转变成面向对象程序,首先应该选择一种适当的程序设计语言。

面向对象方法学使用独特的概念和技术完成软件开发工作,因此,在测试面向对象程序的时候,除了继承传统的测试技术之外,还必须研究与面向对象程序特点相适应的新的测试技术。

面向对象测试在测试类时使用的方法主要有随机测试、划分测试和基于故障的测试。

每种方法都测试类中封装的操作。

应该设计测试序列以保证相关的操作受到充分测试。

检查对象的状态(由对象的属性值表示),以确定是否存在错误。

关键词:面向对象语言,测试类,对象引言面向对象实现主要包括两项工作:把面向对象设计结果翻译成用某种程序语言书写的面向对象程序;测试并调试面向对象的程序。

面向对象程序的质量基本上由面向对象设计的质量决定,但是,所采用的程序语言的特点和程序设计风格也将对程序的可靠性、可重用性及可维护性产生深远影响。

目前,软件测试仍然是保证软件可靠性的主要措施,对于面向对象的软件来说,情况也是如此。

面向对象测试的目标,也是用尽可能低的测试成本发现尽可能多的软件错误。

java面向对象程序设计—课程设计论文

java面向对象程序设计—课程设计论文

《Java面向对象程序设计》课程报告课程设计题目:计算器计算器一.设计的内容要求参考Windows附件中的计算器,使用Java语言设计并实现一个简单的计算器。

(界面使用AWT或SWING)二. 设计思想2.1根据图形用户界面设计方法设计计算器版面。

①容器类(窗口--Window类,面板--Panel类),框架类--Frame,Button类,Label类,TextField类等类的构造方法,菜单(菜单栏、菜单项)的建立于应用。

②事件处理机制:监听器类WinClose(),actionPerformed()。

2.2计算器计算功能实现,即按钮监听器的实现自定义变量:x,y为操作数,op为操作符。

根据单击按钮不同进行不同的操作,详见处理按钮单击事件方法actionPerformed(ActionEvent e)(计算功能算法)流程图。

三.详细设计3.1 calculator()函数(计算器版面设计)流程图:开始新建计算器窗口f新建菜单创建菜单项并添加至菜单新建并设置文本行textp新建并设置缓存区mcache新建并设置计算器上button并注册监听器新建面板p0 p1 p2 p3将textp添加至p0,并设置p0大小将”backspace””CE””C”添加至p1,并设置p1大小及布局将”MC””MR””MS””M+”添加至p2,并设置p2大小及布局将其他button添加至p3,并设置p3大小及布局将面板p0 p1 p2 p3添加至f3.2处理按钮单击事件方法actionPerformed (ActionEvent e )(计算器计算功能算法)流程图:开始 Textp.setText(“0” Str.setLength(0)YN单击”CE ” 单击”C ” Textp.setText(“0” Str.setLength(0) NY单击”+/-“ 将textp 中数据正负变号 单击”+” 将textp 中数据赋给x ,str.setLength (0)y=0,op=0N YN Y单击”-“ 将textp 中数据赋给x ,str.setLength (0)y=0,op=1将textp 中数据赋给x ,str.setLength (0)y=0,op=2单击”*” N YNY设置窗口f 的属性为f 注册事件监听器Winclose结束单击”%” NNNNY YY 将textp 中数据乘以0.01y=0 单击”1/x ”textp 中数据为0给textp 赋”除数不能为0”将textp 中数据取倒数str.setLength(0);y=0 单击”0”textp 中数据为0NNN YY Y在textp 中数据后加”0”,并赋值给y单击”backspace ”textp 中数据为0str 长度为1去掉textp 数据的最后一位,并将str 的长度减1将textp 赋0,str.setLen gth(0)NY第四部分运行效果图4.1运行初始图:4.2 计算功能测试图:-2+21.4 将textp中数据赋给yN Y单击”1”~”9”将单击数字插入到textp中数据后,并将textp中数据赋给y 将textp赋0,并str.stelength(0);结束五. 代码实现import java.awt.*;import java.awt.event.*;public class Mycounter{public static void main(String argn[]){new MyFrame().launchFrame();}}class MyFrame extends Frame{Button btn[];Button btn_add,btn_sub,btn_mul,btn_div,btn_dot,btn_cr,btn_as,btn_eq,btn_sq,btn_bs;TextField tf;Panel p;Boolean isDot,operated,equaled;double storedNumber;char lastOperator;public void launchFrame(){btn=new Button[10];for(int i=0;i<10;i++){btn[i]=new Button(""+i);}isDot=false;operated=false;equaled=false;storedNumber=0;lastOperator='?';btn_add=new Button("+");btn_sub=new Button("-");btn_mul=new Button("*");btn_div=new Button("/");btn_dot=new Button(".");btn_cr=new Button("cr");btn_as=new Button("±");btn_sq=new Button("√");btn_eq=new Button("=");btn_bs=new Button("←");p=new Panel();tf=new TextField(10);this.setLayout(new BorderLayout());this.add(tf,BorderLayout.NORTH);this.add(p,BorderLayout.CENTER);p.setLayout(new GridLayout(5,4,10,10));p.add(btn[1]);p.add(btn[2]);p.add(btn[3]);p.add(btn_add);p.add(btn[4]);p.add(btn[5]);p.add(btn[6]);p.add(btn_sub);p.add(btn[7]);p.add(btn[8]);p.add(btn[9]);p.add(btn_mul);p.add(btn_dot);p.add(btn[0]);p.add(btn_sq);p.add(btn_div);p.add(btn_eq);p.add(btn_as);p.add(btn_cr);p.add(btn_bs);this.setTitle("计算器");this.setSize(260,260);this.setVisible(true);for(int i=0;i<10;i++) {btn[i].addActionListener(new Monitor());} btn_add.addActionListener(new Monitor());btn_sub.addActionListener(new Monitor());btn_mul.addActionListener(new Monitor());btn_div.addActionListener(new Monitor());btn_dot.addActionListener(new Monitor());btn_sq.addActionListener(new Monitor());btn_eq.addActionListener(new Monitor());btn_as.addActionListener(new Monitor());btn_cr.addActionListener(new Monitor());btn_bs.addActionListener(new Monitor());this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}class Monitor implements ActionListener{public void actionPerformed(ActionEvent e){Button bn=(Button)e.getSource();if(bn==btn_cr){tf.setText("0");isDot=false;storedNumber=0;lastOperator='?';}else if(bn==btn_eq){operate('=');equaled=true;}else if(bn==btn_add){operate('+');equaled=false;}else if(bn==btn_sub){operate('-');equaled=false;}else if(bn==btn_mul){operate('*');equaled=false;}else if(bn==btn_div){operate('/');equaled=false;}else if(bn==btn_as){operate('a');operate('=');equaled=false;}else if(bn==btn_sq){operate('s');operate('=');equaled=true;}else if(bn==btn_bs){operate('b');operate('=');equaled=true;String s=tf.getText();tf.setText("");for(int i=0;i<s.length()-1;i++){char c=s.charAt(i);tf.setText(tf.getText()+c);}}else {if(equaled) storedNumber=0;for(int i=0;i<10;i++)if(bn==btn[i]){if(tf.getText().equals("0"))tf.setText(""+i);else if(!operated)tf.setText(tf.getText()+i);else{tf.setText(""+i);operated=false;}}if(bn==btn_dot&&!isDot){tf.setText(tf.getText()+".");isDot=true;}}}}private void operate(char operator){double currentNumber = Double.valueOf(tf.getText()).doubleValue();if (lastOperator == '?')storedNumber = currentNumber;else if (lastOperator == '+')storedNumber += currentNumber;else if (lastOperator == '-')storedNumber -= currentNumber;else if (lastOperator == '*')storedNumber *= currentNumber;else if (lastOperator == '/')storedNumber /= currentNumber;else if (lastOperator == 'a')storedNumber *= -1;else if(lastOperator=='b')storedNumber=currentNumber/10;第 11 页 共 12 页else if (lastOperator == 's')storedNumber = Math.sqrt(currentNumber);else if (lastOperator == '=' && equaled)storedNumber = currentNumber;tf.setText("" + storedNumber);operated = true;lastOperator = operator;}} 六. 心得与体会6.1 Java 是一门实践性很强的编程语言,每学习到一个新的知识点应当及时动手编写程序,提高动手能力,加深对语言的理解。

学科教育论文 一种面向对象程序设计课程教学方法的研究

学科教育论文 一种面向对象程序设计课程教学方法的研究

学科教育论文一种面向对象程序设计课程教学方法的研究1 引言程序设计是计算机本科生学习的主要系列课程,是核心的专业课程及主要就业技能,所以学好程序设计对于每个计算机专业本科生是非常重要的。

目前普通高校的程序设计课程都是系列课程,先以过程化程序设计课程为基础课程教会学生基本编程方法,如:C语言程序设计、汇编语言等,在此基础上再增加高级语言课程,主要以面向对象类语言为主,如:C++程序设计、JAVA程序设计。

但是通过多年的教学实践及研究发现很多学生在高级语言课程结束后仅能掌握简单编程技能,无法进行稍高难度编程、扩展自学及项目开发。

2 影响教学效果的因素为提升面向对象类语言的教学效果,教学组对已学、在学、未学三个年级的学生进行了调研、测试及座谈。

总结了影响该课程教学效果的几个主要因素:1)部分同学基础类语言学习不够扎实,直接影响后续面向对象语言的学习。

2)部分同学没有形成编程素养。

3)部分同学认为面向对象较为抽象,不容易理解。

4)部分同学无法将面向对象理论转化成编程思想自由应用,尤其是对类的理解和使用。

3 解决方法以上问题是影响面向对象类教学方法的主要因素,为提升教学效果提出了具有针对性的措施来解决这些问题。

3.1 加强基础类语言理论的渗透目前很多基础类语言教学过程中存在机械化、抽象化的问题,导致学生无法深入理解编程思想进而无法灵活的掌握知识,为了应付考试更有同学采取机械式背重点习题的方法学习语言,这都导致语言学习不够灵活,所以教学过程中应该结合典型习题加强学生对理论的理解,比如在C 语言课程中我们加入了万年历的编程例子,该程序并没有出现在普通的教材中,但是确是一个具有实际意义并且能够引发学生学习兴趣的例子。

很多学生在接触这个实际的例子后表现出浓厚的兴趣,积极的思考并与同学及教师探讨程序的设计思想,在设计过程中很多同学将C语言的知识点串联了起来,即达到了复习的效果也练习了综合应用多知识点的能力。

通过该程序的设计及编写很多同学发现了自己的不足以及缺陷,大部分同学在兴趣的引导下完成了该例子,贯穿了基础语言的大部分知识点,锻炼了编程的能力培养了程序设计思维。

语言程序设计范文

语言程序设计范文

语言程序设计范文
随着现代计算机的发展,程序设计语言作为实现计算机编程任务的基础性工具而被广泛使用。

程序设计语言的类型众多,其中最受欢迎的一种是面向对象的程序设计语言(OOP)。

面向对象的程序设计语言(OOP)是一种以对象为中心的程序设计语言,它能够将复杂的程序设计问题分解为一系列简单的任务,然后用对象来表示这些任务。

使用OOP技术可以使程序设计的过程更加清晰、有效。

它的最大优势在于,程序员可以重复使用许多类似的对象,以便更快地完成编程任务,而无需理解每一种对象都有哪些特性。

OOP语言的基础是面向对象的编程,因为它能够将复杂的程序设计任务分解为一系列简单的任务,然后用对象来表示这些任务。

面向对象的编程语言就是一种把程序的功能和数据封装到对象中,使用对象之间的关系来实现功能的一种编程方法。

使用OOP程序设计语言可以帮助开发者编写更高效、更安全的程序,以及更容易维护的程序。

OOP程序设计语言还有助于程序员更好地理解程序,从而更准确地完成任务。

其他优点还包括更好的可扩展性和易于维护性,因为编写的代码可以被重复使用,所以可以更容易地更新和修改代码。

面向对象程序设计技术在金融信息系统的应用论文

面向对象程序设计技术在金融信息系统的应用论文

面向对象程序设计技术在金融信息系统的应用论文论文关键词:金融信息系统面对对象程序设计会计软件开发1前言随着我国经济信息化工作的不断进展提升,对金融工的计算机应用学问要求越来越高,有些企业的信息系统正面临从传统的核算软件向管理决策性的大型管理软件的再开发。

当前我国企业经济进展对管理信息系统开发的需求很大,如何正确支配软件的结构,合理组织、管理软件的生产,不仅是从事软件开发专业人员的事,也是广阔从事金融管理工作人员及学员必需把握的学问,金融工作人员常常就会被要求加入到系统开发中去,向系统开发人员供应有关专业技术支持,关心开发人员了解企业的财务处理程序、经营过程,管理要求及用户的信息需求等。

为了缩短了软件的研制时间,提高了软件的开发效率,面对对象程序设计由此应运而生。

面对对象大事驱动程序设计方法是程序设计方法的一次变革.我们应迎头赶上井把握这门新技术。

2面对对象方法程序设计(00)的基本过程计算机软件技术进展特别快,越来越多的有用软件工具有不同程度的面对对象自动编程功能,软件工程各阶段的自动化程度也将越来越高.面对对象程序设计是目前程序设计方法的主流,是程序设计在思维和方法上的一次巨大进步。

面对对象程序设计思想是面对对象,即设计的重要任务在于描述对象,程序是由大事驱动的,因此,在执行过程中,持续等待的是一个发生在对象上的`大事。

而发生什么大事则要看使用者的操作,如单击、双击鼠标等。

至于下一步的程序流向,则要看驱动的是什么大事。

这类程序设计的主要目的是从任何便利与简化使用人手,由使用者掌握程序流向,这在肯定程序上增加了编程的难度,以基于VFP6.0面对对象的程序设计应用为例,假设某储户到银行提取存款X元,试问银行出纳元应如何付款最正确(即各种票颊钞票总张数最少)。

2.1分析可以从最大的票额(100元)开头,算出所需张数,然后在剩下的部分算出较小面额的张教,直到最小票额(1元)。

2.2设计步辣(l)建立应用程序用户最界面。

面向对象程序设计论文

面向对象程序设计论文

面向对象程序设计论文题目:出版物CPublication类的定义与实现学院(系):年级专业:学号:学生姓名:指导教师:教师职称:一、问题分析根据出版物CPublication类的定义,该类包括出版物名称、价钱、出版日期和可供出借否等数据成员,以及构造函数、析构函数、设置出版物属性的成员函数、打印数据成员的函数、借出和归还的成员函数等。

完成该类的实现,并编写一主函数对其进行测试。

二、代码实现#include<iostream.h>#include<string.h>#include<stdlib.h>class CPublication{private:char *p_title;float price;char data[20];bool on_loan;bool on_loan1;public:CPublication(char *p_t,float p,char *p_d);void set(char *p_t,float p,char * p_d);bool borrowIt();bool returnIt();void print()const;~CPublication();};CPublication::CPublication(char *p_t,float p,char *p_d){p_title=new char[strlen(p_t)+1];if(p_title==NULL)exit(1);strcpy(p_title,p_t);price=p;strcpy(data,p_d);on_loan=CPublication::borrowIt();on_loan1=CPublication::returnIt();}void CPublication::set(char *p_t,float p,char * p_d) {p_title=new char[strlen(p_t)+1];if(p_title==NULL)exit(1);strcpy(p_title,p_t);price=p;strcpy(data,p_d);}bool CPublication::borrowIt(){return true;}bool CPublication::returnIt(){return false;}void CPublication::print()const{int i=0,j=0;cout<<"The book's name is ";cout<<p_title<<endl;cout<<"The book's price is "<<price<<endl;cout<<"The book's date of publication is on ";cout<<data<<endl;if(on_loan){if(on_loan1)cout<<"The book has been borrowed and has been returned"<<endl;elsecout<<"The book has been borrowed and hasn't been returned"<<endl;}elsecout<<"The book hasn't been borrowed yet"<<endl; }CPublication::~CPublication(){cout<<"destructing"<<endl;delete p_title;}void main(){char *name="Science",*time="20101024",b;float bookprice=25;char name1[40],time1[20];float bookprice1;CPublication book(name,bookprice,time);book.print();cout<<"if need to rewrite the information?"<<endl;cin>>b;switch (b){case 'y':{cout<<"Please input new information" <<endl;cout<<"The name is :";cin>>name1;cout<<"The price is :";cin>>bookprice1;cout<<"The date is :";cin>>time1;book.set(name1,bookprice1,time1);book.print();break;}case 'n':{cout<<"No new information"<<endl;break;} default:cout<<"ERROR"<<endl;}}结果截图:。

学科教育论文 《面向对象程序设计》课程实践教学方法的研究与讨论

学科教育论文 《面向对象程序设计》课程实践教学方法的研究与讨论

学科教育论文《面向对象程序设计》课程实践教学方法的研究与讨论0 引言培养应用型人才是现在各大高校人才培养的重点。

而作为计算机专业的学生,培养其具备良好的实践动手能力则会对其今后的就业有着非常重要的意义。

现在各大高校都会将《面向对象程序设计》作为一门计算机专业基础课程开设。

这门课程在讲述编程理论的同时,对学生建立编程思想和实际软件编写及调试等方面的能力也将打下基础。

该课程的教学目的是让学生在掌握理论知识的同时提高个人的实践能力,尤其是利用面向对象的编程语言进行设计开发的能力。

然而很多学生在学完该课程以后只掌握了基本的知识点,没有软件工程的思想,实践动手能力明显不足,远远不能达到应用型人才培养方案的培养目的。

所以,对该课程教学模式的改革已经是势在必行。

必须通过对该课程的相关实验实训及实践教学环节等进行改革,以提高学生独立开发项目及动手能力。

1 问题的分析这门课程在各大高校已经开设多年。

目前大多数教师在教学过程中会花费大量的时间用于讲解课程中的概念、语法等在逻辑上不容易理解的内容。

在实践课上,老师只会花费较少的时间进行简单演示,致使学生仍然只能掌握死板抽象的理论知识。

学生对于这种传统的教学模式常会感觉枯燥无味,没有学习乐趣。

学生没有学习积极性,也就很难达到课程的教学目的。

另外,由于现在的实践教学中,实验的内容针对性不强,实验中验证性的比较多,而综合性的就比较少,就导致了学生遇到实际问题后不知该如何解决,时间久了以后必然会使学生丧失学习的信心。

而且教师在实践教学的过程中,对学生独立开发项目能力的培养重视度就不够,针对性也不够强,效果当然就不会好。

针对以上问题,对该课程的教学模式进行改革已经是迫在眉睫,通过改革实验和实训及相关实践教学环节,提高学生的综合实践能力和动手能力。

2 实践教学体系内容分析以理论和实践相结合的目光来审视《面向对象程序设计》这门课的实验教学体系,它应该由以下五个方面构成:基础型实验、设计型实验、综合型实验、课程设计以及实习实践。

面向对象技术论文

面向对象技术论文

面向对象技术论文摘要:面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,在这篇论文中,我将从程序设计语言的发展和程序设计思想的演化之间的关系,来理解和思考面向对象程序设计技术,并逐步讨论如下。

关键字:关键字:面向对象过程化程序设计程序设计技术计算机程序设计的本质就是把现实生活中我们遇到的问题,通过抽象然后利用计算机语言转化到机器能够理解的层次,并最终利用机器来寻求问题的解。

在此过程中,涉及到两方面问题:一,如何把我们所面对的问题抽象化?使问题能够很好的被抽象语言描叙。

二,如何把已经抽象解决了的问题映射到机器能够理解的语言里面去。

从第一方面体现了程序设计思想而第二方面则体现了程序设计语言,有此可见,两者是有密切关系的,其中的连接点就是抽象机制。

1,程序设计语言的概论程序设计语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。

具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。

程序设计语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言,反映的就是一条抽象机制不断提高的演化道路,机器语言和汇编语言几乎没有抽象,对于机器而言是最合适的描叙,它可以操作到机器里面的位单位,并且任何操作都是针对机器的,这就要求人们在使用机器或者汇编语言编写程序时,必须按照机器的方式去思考问题,因为没有抽象机制,所以程序员很容易陷入复杂的事务之中。

C,PASCAL,FORTRAN, 随等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。

由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描叙问题。

随着程序规模的不段断扩大,在60 年代末期出现了软件危机,在当时的程序设计范型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计范型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如C++,Java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计论文
题目:出版物CPublication类的定义与实现
学院(系):
年级专业:
学号:
学生姓名:
指导教师:
教师职称:
一、问题分析
根据出版物CPublication类的定义,该类包括出版物名称、价钱、出版日期和可供出借否等数据成员,以及构造函数、析构函数、设置出版物属性的成员函数、打印数据成员的函数、借出和归还的成员函数等。

完成该类的实现,并编写一主函数对其进行测试。

二、代码实现
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
class CPublication
{
private:
char *p_title;
float price;
char data[20];
bool on_loan;
bool on_loan1;
public:
CPublication(char *p_t,float p,char *p_d);
void set(char *p_t,float p,char * p_d);
bool borrowIt();
bool returnIt();
void print()const;
~CPublication();
};
CPublication::CPublication(char *p_t,float p,char *p_d)
{
p_title=new char[strlen(p_t)+1];
if(p_title==NULL)
exit(1);
strcpy(p_title,p_t);
price=p;
strcpy(data,p_d);
on_loan=CPublication::borrowIt();
on_loan1=CPublication::returnIt();
}
void CPublication::set(char *p_t,float p,char * p_d) {
p_title=new char[strlen(p_t)+1];
if(p_title==NULL)
exit(1);
strcpy(p_title,p_t);
price=p;
strcpy(data,p_d);
}
bool CPublication::borrowIt()
{
return true;
}
bool CPublication::returnIt()
{
return false;
}
void CPublication::print()const
{
int i=0,j=0;
cout<<"The book's name is ";
cout<<p_title<<endl;
cout<<"The book's price is "<<price<<endl;
cout<<"The book's date of publication is on ";
cout<<data<<endl;
if(on_loan)
{
if(on_loan1)
cout<<"The book has been borrowed and has been returned"<<endl;
else
cout<<"The book has been borrowed and hasn't been returned"<<endl;
}
else
cout<<"The book hasn't been borrowed yet"<<endl; }
CPublication::~CPublication()
{
cout<<"destructing"<<endl;
delete p_title;
}
void main()
{
char *name="Science",*time="20101024",b;
float bookprice=25;
char name1[40],time1[20];
float bookprice1;
CPublication book(name,bookprice,time);
book.print();
cout<<"if need to rewrite the information?"<<endl;
cin>>b;
switch (b)
{
case 'y':{
cout<<"Please input new information" <<endl;
cout<<"The name is :";cin>>name1;
cout<<"The price is :";cin>>bookprice1;
cout<<"The date is :";cin>>time1;
book.set(name1,bookprice1,time1);
book.print();break;}
case 'n':{
cout<<"No new information"<<endl;break;} default:cout<<"ERROR"<<endl;
}
}
结果截图:。

三、代码分析
本文是对出版物CPublication类的简单定义和实现,目的是显示出版物的出版信息,包括出版物名称、价钱、出版日期和可供出借否,完成各成员函数的简单调用及对信息的修改。

程序中将判断可供出借否的变量设为布尔型,并将成员函数borrowIt(),returnIt()的返回值也设为布尔型,用来判断出版物是否可以借出,然后print()成员函数再根据返回值判断打印的信息。

main函数中分别将name,time ,bookprice初始化,然后调用构造函数,输出了出版物的相关信息,然后问用户是否需要修改相关信息,如果需要,输入y,再通过set() 成员函数修改出版物的信息,输出最新的情况;如不需要,输入n,则输出没有新信息;如输入其他值,则输出"ERROR"。

本程序只实现了需要修改信息时的情况。

四、总结
大一刚开始接触C++的时候,觉得很茫然,只学习到了一
些基础知识和简单的编程,也可以说只停留在了它的边缘地带,而对它的精华部分确知之甚少,通过这次面向对象程序设计的学习,我对C++语言有了更深层次的了解。

C++是在C语言的基础上发展起来的一种即支持面向过程又支持面向对象的编程语言。

所谓的面向对象,它将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体——对象。

对同类型对象抽象出其共性,形成类。

类中的大多数数据,只能用本类的方法进行处理。

类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。

C++既然是由C语言发展起来的,当然具有C语言的大部分优点,然而C++与C相比最显著的变化就是增加了面向对象的成分,也就是增加了类的概念,因为类的增加使软件开发可以比较容易的描述人类的思维,使得软件的开发和维护变得相对简单,直接降低了软件的成本。

本次编程使我对类的定义和实现有了更深刻的了解,当然,编程过程中也遇到了很多困难,但通过努力查阅书本和网络资料都一一解决了。

同时我也深深体会到了,要想学好C++必须经常上机实践,只有自己实际操作后,才能明白问题的所在,才能对所学知识有更全面的了解。

相关文档
最新文档