网络编程技术综合实验报告 - 范文中心

网络编程技术综合实验报告

11/10

辽宁工业大学软件学院

《C#网络编程技术》综合实验报告一

题目: 面向对象程序设计

院(系): 软件学院

专业班级: 软件工程101

学 号: 101301011

学生姓名: 张 洋

指导教师: 翟宝峰

教师职称: 副教授

起止时间:2011.8.22-2011.9.5

面向对象程序设计

一、问题描述

本次实验是用面向对象的程序设计思想来编写一个简单的加减乘除四则运算的小计算器,本次实验是本着面向对象的思想,通过计算器这个小程序来体现面向对象的三大特性:封装,继承和多态。

虽然用c 这样的语言也能编出加减乘除的计算器功能,但在增加其功能的多样性时,往往为了为了增加几个功能,整段程序已经被改得面目全非了,试想一下,倘若还要增加取正弦,余弦等三角函数功能,那么整段程序几乎又要重写一遍,这对于程序员来说,就是一场灾难!不利于开发,不利于维护,不利于升级。所以还是要采用面向对象的程序设计。

二、问题分析

数学的本质就是对实际事物进行抽象;同样,写一段程序,我们得先想清楚,整个业务中有哪些是重复的,哪些是有相同点的,哪些是有关系的。

整个加减乘除的计算器程序可以分成以下四个模块

1、界面(提示用户输入)

2、用户输入判断

3、计算

4、输出

面向过程的思路很严格地按照这四个功能模块至顶向下写了出来。这样就造成了一个问题,它们之间的关联太大了,如果其中有一个模块出了问题,其他的模块也要进行改动。我们尝试用类(class )来封装每个模块。以下的内容就需要读者有一些面向对象的基础了。对于加减乘除这些计算方法,每个方法,我们最好都写成一个单独的类,使用户无法直接访问类中的计算方法——这就体现了封装的特性。

与此同时,这些加减乘除类都需要两个参数,区别的地方也仅仅只是两个数之间的运算符号的不同,所以,我们可以将他们之间相同的部分提取出来,让加减乘除类继承自一个计算类,实现代码的可扩展。

三、程序实现

1. 程序一般包括以下几部分:

•名称空间的引用:使用using 关键字指明引用的名称空间。

•名称空间的声明:使用namespace 关键字声明名称空间。

•类:使用class 关键字声明类。

•Main 方法:Main 方法是C# 程序的入口。

2. 类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中可以有:

(1)变量声明

(2)构造函数

(3)方法

(4)属性

(5)事件

3. 一个文件中可以有1个或者多个类。

4. 所有语句都以分号";" 结束。

先调用必不可少的各种包,然后创建第一个类,有各种属性变量并有个执行加法运算的函数,创建第二个类,继承第一个类,有个执行减法运算的方法,此方法覆盖父类中执行加法运算的方法,有个比较大小的方法并创建主函数。

四、程序实现

主要代码设计如下:

using System;

namespace Account

{

class Count

{

public int a;

public int b;

public Count(int a,int b) //计算类的构造函数

{

this.a=a;

this.b=b;

}

public virtual double GetResult()

{

double result=0;

return result

}

}

class CountPlus:Count //加法类

{

public override double GetResult() //重写父类中的GetResult 函数

{

double result=0;

result=a+b;

return result;

}

}

class CountMinors:Count //减法类

{

public override double GetResult()

{

double result=0;

result=a-b;

return result;

}

}

class CountMul:Count //乘法类

{

public override double GetResult()

{

double result=0;

result=a*b;

return result;

}

}

class CountDiv:Count //除法类

{

public override double GetResult()

{

double result=0;

result=a/b;

return result;

}

}

class Program

static public void Main(string[] arg)

{

int a;

int b;

string flag;

Console.Write("请输入a");

a = Convert.ToInt32(Console.ReadLine());

Console.Write("请输入b");

b = Convert.ToInt32(Console.ReadLine());

Console.Write("请输入运算符号(+,-,*,/)");

flag=Console.ReadLine(); //C#

的读取函数,相当于C 语言的scanf()

switch(flag) //C#的switch 允许对字符串进行判断

{

case "+":

CountPlus cp = new CountPlus(a,b); //

一个对象,并且把a ,b 作为参数传递进去

result=CountPlus.GetResult(); 实例化类的

break;

case "-":

CountMinors cp = new CountMinors(a,b);

result=CountMinors.GetResult();

break;

case "*":

CountMul cp = new CountMul(a,b);

result=CountMul.GetResult();

break;

case "/":

CountDiv cp = new CountDiv(a,b);

result=CountDiv.GetResult();

break;

}

Console.Write("结果是{0}",result);

}

}

}

运行结果如下:

五、实验总结

通过本次试验我对C#有了个初步了解,C#语法简单,与web 紧密结合,面向对象,安全,灵活性和兼容性较强。本次实验,在翟老师的帮助下,我此次实验体现c#面向对象的三大特征:多态,继承,封装。在老师的帮助下,本次实验我包含了四个类,运用了重载等方法,基本上完成了老师所要求的任务。C#使我充分了解了什么叫面向对象思想,以及面向对象思想的重要性,学习好这门课程,会为以后打下好的基础,多按老师的要求做实验,会使自己的知识更丰富。


相关内容

  • [软件工程]优秀课程建设总结报告
    <软件工程>优秀课程建设总结报告 在德州学院<软件工程>优质课程建设的工作中,我们课程组全体成员认识到<软件工程>是计算机软件专业的一门核心基础课程,搞好这门课程的建设,对于提高计算机科学与技术专业学生的 ...
  • 小型超市销售管理系统
    小型超市销售管理系统 实 验 报 告 实验课程: 信息系统分析与设计 学生姓名:曹志明 冯建明 冯伟 胡华 赖玉峰 专业班级: 信息管理041班 组 长:曹志明(6104104002) 小组成员:冯建明(6104104027) 冯 伟(61 ...
  • 证券投资实训手册
    天 河 学 院 证券交易操作手册ZHENGQUAN JIAOYI CAOZUO SHOUCE 姓名:班级: --------------- 学号: ------------ 组别: ------- 组名: 指导老师:实训时间:2012-06 ...
  • 小学信息技术教育考察报告
    双桥区实验小学 眭琳玲 由渝西学院教师带队,我们重庆市信息技术骨干教师培养对象一行32人于2004年11月底飞抵上海,对上海市的信息技术示范小学进行了为期三天的考察.先后参观考察了上海市徐汇区汇师小学和上海市浦东新区北蔡小学.期间考察了这两 ...
  • 毕业设计目录
    目 录 1 毕业设计(论文)简介------------------------------------------------------1 2 毕业设计(论文)总体要求 --------------------------------- ...
  • [信息技术与学科整合]结题报告(绝对好)
    <信息技术与其他学科课程整合>结题报告 科教兴国,兴国必先兴教育:科研兴教,兴教必先兴科研.教育科研开展得如何是衡量一所学校教育发展水平的重要标志之一,向教育科研要质量便成为瓦房店市实验小学的探索目标.<信息技术与其他学科 ...
  • 电路实训报告
    数字电路 实 验 报 告 姓 名: 田月皎 学 号: [1**********]01 学 院: 信息学院 专 业: 计算机科学与技术 指 导 教 师: 邹 尔宁 协助指导教师: 2011年 12 月 28 日 实验一 常用仪器仪表使用 一. ...
  • 麻疹实验室监测与质量控制分析
    麻疹实验室监测与质量控制分析 [摘要] 目的 分析贵州省麻疹实验室的监测与质量控制状况,为制定消除麻疹策略和措施提供依据.方法 收集贵州省2011年麻疹监测信息报告管理系统及麻疹实验室的监测数据,综合评价实验室各项监测指标.结果 2011年 ...
  • 面向应用型人才培养的网络工程专业课程体系探索与实践
    文章编号:1672-5913(2009)19-0134-06 面向应用型人才培养的网络工程专业课程体系探索与实践 郭广军1,羊四清1,戴经国1,龚德良2 (1.湖南人文科技学院 计算机科学技术系,湖南 娄底 417000:2.湘南学院 计算 ...
  • 20**年1020_电子商务专业剖析报告
    电子商务专业剖析报告 青岛大学管理科学与工程学院电子商务专业是本学院最早设立的专业,2002年开始招生,已有毕业生近千余人,在校生约200人.电子商务专业现有教师11人,教授2人,副教授4人:具有博士学位6人.教师分别于复旦大学.南京大学. ...