写一个简单并解释面向对象程序设计是c吗的一点代码

写扫雷的一点感想(初学的朋友可以看看)
阅读:80次&&&时间: 00:00:00&&
//因为自己的水平很菜,所以写写小程序锻炼锻炼,高手就不要看/了。&好吧,说一些简单但是我认为重要的东西吧。在我这个层次(很菜很菜)的人看来,写大程序应该是一种很神圣的事情了。因为一般在公司做事,就是分配一些模块,小的几百行,大的上万行,就基本搞好了。自己完整地写一个上十万行的东西(当然,不能烂到连自己都不喜欢的程度啊),在我看来,应该还是需要一些东西的。至少需要一些程序框架设计的思想在里面,没有面向对象设计思想在里面,以我目前的水平来看,基本上结构是很难清楚 的。&好了。我们开始涉入正题了。&就是程序的框架和设计思想,我要结合扫雷来说。(扫雷?是,扫雷,window系统自带的那么几个小游戏中的一个,很简单吗?我不觉得)。&注:我在分配地雷的时候不知道算法了。所以到中搜索了一下,看了两个人的扫雷的代码,直白点说吧,一个写的代码,我只看了30秒,就被我从我的硬盘上shift+delete了。原因是:1 结构很混乱(这个至关重要),程序没有好的结构就表示你的思想一片混乱。2 没有注释,格式完全没有规范。格式,这个在我看来,也是不能容忍的。另一个的代码也是,就是一个CxxDlg就交代了。&&在我目前的眼光来看,扫雷虽然小,却可以很好的体现面向对象的思想。简单的分析一下,各位看官见笑了。&三个层次。(project为基于对话框的project)&&&&&&&&&&&&&&&&&&CXXDlg 对象(对话框,管理地雷阵)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& |&&&&&&&&&&&&&&&&&CMesh对象(地雷阵,管理一个一个的格子)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&&&&&&&&&&&&&&&CGrid对象(一个一个的格子,最基本的单位)&这就是我所理解的扫雷和面向对象的思想的具体体现。在分清了对象层次后,就好着手考虑属性和方法,说起来很简单,在我看来,没有一定的代码经验,在分析属性和方法的过程上是会有一点点问题的,这个问题是需要实践的,不好说。&然后必须确定一个原则:由谁来处理消息,答案是:谁的消息就让谁来处理。上面是我的处理原则(我的实践证明,很有效)。举例来说吧,在某一个格子区域单击了鼠标左键,怎么处理?我的处理:首先是 CXXDlg 对象得到消息,传递给CMesh对象,CMesh对象再传递给CGrid对象处理。&好吧,就这么多吧。
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
[商业源码]&
Copyright &
All Rights Reserved基于面向对象的语音编解码软件的设计实现--《计算机工程与设计》2003年10期
基于面向对象的语音编解码软件的设计实现
【摘要】:为了简单正确地应用ITU-T的G.729语音编码标准于应用系统中,遵循G.729B语音编码规范,采用面向对 象软件设计方法,开发出一种G.729B语音编解码软件。从用户需求分析出发,介绍了软件的系统设计及实现过程。 编解码软件为用户提供了简单的调用接口,并在实践中得以应用。
【作者单位】:
【分类号】:TP311.52
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【引证文献】
中国期刊全文数据库
王萍;陈相宁;谢鸿凤;;[J];河南机电高等专科学校学报;2006年02期
王萍;陈相宁;李双群;;[J];河南师范大学学报(自然科学版);2006年01期
【参考文献】
中国期刊全文数据库
傅川,张国清,侯桂文;[J];计算机工程与应用;2002年20期
【共引文献】
中国期刊全文数据库
曹军;;[J];包头职业技术学院学报;2004年03期
闫玉山,杨凤学,李维功;[J];测绘通报;2002年08期
王鹏,李蓓智,刘春峰;[J];东华大学学报(自然科学版);2001年06期
李楹;;[J];黑龙江科技信息;2012年16期
孙燕莲,韩巍,文福安;[J];实验技术与管理;2005年07期
王新茂;杨晓玲;孙传芳;;[J];有线电视技术;2008年04期
中国硕士学位论文全文数据库
满宏权;[D];电子科技大学;2011年
罗词兵;[D];福州大学;2002年
张弛;[D];合肥工业大学;2003年
刘伟;[D];江苏大学;2003年
刘彬;[D];中南大学;2004年
段兴华;[D];合肥工业大学;2007年
宋新航;[D];天津大学;2007年
【同被引文献】
中国期刊全文数据库
王萍,陈相宁;[J];航空精密制造技术;2004年04期
【二级引证文献】
中国期刊全文数据库
张申亚;;[J];信阳师范学院学报(自然科学版);2007年04期
【相似文献】
中国期刊全文数据库
金钰,李书涛;[J];北京理工大学学报;2000年03期
李琳,汪林林;[J];重庆邮电学院学报(自然科学版);2000年01期
俞集辉,贾代平;[J];计算机系统应用;1998年02期
王孟石,樊新华;[J];黄金学报;2001年01期
孟铂,王孟石,樊新华;[J];仪表技术与传感器;2003年04期
李文芳;;[J];山西广播电视大学学报;2005年06期
,龚素文;[J];九江职业技术学院学报;2001年04期
吴永,徐勇,周焯华,胡爱民;[J];压电与声光;2002年05期
蔡学镛;;[J];程序员;2002年03期
王志喜,王润云;[J];计算机工程与应用;2003年07期
中国重要会议论文全文数据库
陈建平;;[A];1999中国控制与决策学术年会论文集[C];1999年
李芳;夏宇;;[A];2008'中国信息技术与应用学术论坛论文集(二)[C];2008年
杨卓青;丁(火圭)甫;蔡豪刚;赵小林;;[A];2007年上海市电子电镀学术年会论文集[C];2007年
谢锐;赖学亮;;[A];全国第19届计算机技术与应用(CACIS)学术会议论文集(下册)[C];2008年
薛冰;李承虎;;[A];2008年电子机械与微波结构工艺学术会议论文集[C];2008年
铁锦程;许晓鸣;刘慧;张钟俊;;[A];1996中国控制与决策学术年会论文集[C];1996年
张映锋;江平宇;屈挺;;[A];先进制造技术论坛暨第三届制造业自动化与信息化技术交流会论文集[C];2004年
刘金刚;李洪深;范琳;杨士勇;;[A];2005年全国高分子学术论文报告会论文摘要集[C];2005年
李刚健;任芳芳;;[A];2005全国计算机程序设计类课程教学研讨会论文集[C];2005年
赵翠杰;彭玉青;林涛;;[A];2006通信理论与技术新进展——第十一届全国青年通信学术会议论文集[C];2006年
中国重要报纸全文数据库
晋江;[N];中国电子报;2001年
江苏长电科技股份有限公司总裁王新潮;[N];中国电子报;2002年
穆强;[N];中国电子报;2002年
者明中;[N];中国邮政报;2002年
袁锦富;[N];中国邮政报;2001年
贾松良;[N];中国电子报;2001年
计纲;[N];中国包装报;2000年
王小庆;[N];中国电子报;2001年
女瑛;[N];电子资讯时报;2002年
琇文/硅谷;[N];电子资讯时报;2002年
中国博士学位论文全文数据库
曹克;[D];清华大学;2005年
晋春;[D];太原理工大学;2006年
钟柏昌;[D];南京师范大学;2007年
袁霞;[D];湘潭大学;2007年
陈小亮;[D];浙江大学;2009年
淳静;[D];国防科学技术大学;2006年
魏泳涛;[D];四川大学;2000年
刘翠荣;[D];太原理工大学;2008年
黄勇林;[D];南开大学;2003年
程婷;[D];华中科技大学;2009年
中国硕士学位论文全文数据库
马朝环;[D];重庆大学;2008年
刘福星;[D];湖南大学;2010年
郑镜雄;[D];天津大学;2004年
郝义昶;[D];武汉理工大学;2006年
郭子学;[D];大连理工大学;2006年
沈屹挺;[D];大连海事大学;2007年
董博彦;[D];天津大学;2005年
李健;[D];大连理工大学;2006年
张培俭;[D];青岛大学;2006年
徐平均;[D];中国工程物理研究院;2006年
&快捷付款方式
&订购知网充值卡
400-819-9993扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
用JAVA写一个计算器 要求有图形界面.简单的加减乘除,不要小数点运算.
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
寔杩炵画杩愮畻寰桙br/>import java.awt.BorderLimport java.awt.Bimport java.awt.Fimport java.awt.GridLimport java.awt.Pimport java.awt.TextFimport java.awt.event.MouseEimport java.awt.event.MouseLimport java.awt.event.WindowEimport java.awt.event.WindowLpublic class Calculator {\x05public static void main(String[] args) {\x05\x05Frame f = new Frame("Calculator");\x05\x05\x05\x05final TextField tf = new TextField();\x05\x05Panel p = new Panel();\x05\x05\x05\x05f.setLayout(new BorderLayout());\x05\x05f.add(tf,BorderLayout.NORTH);\x05\x05f.add(p,BorderLayout.CENTER);\x05\x05\x05\x05p.setLayout(new GridLayout(4,4));\x05\x05\x05\x05Button one = new Button("1");\x05\x05Button two = new Button("2");\x05\x05Button three = new Button("3");\x05\x05Button four = new Button("4");\x05\x05Button five = new Button("5");\x05\x05Button six = new Button("6");\x05\x05Button seven = new Button("7");\x05\x05Button eight = new Button("8");\x05\x05Button nine = new Button("9");\x05\x05Button zero = new Button("0");\x05\x05Button add = new Button("+");\x05\x05Button sub = new Button("-");\x05\x05Button mul = new Button("*");\x05\x05Button div = new Button("/");\x05\x05Button decimal = new Button(".");\x05\x05final Button equal = new Button("=");\x05\x05\x05\x05p.add(one);\x05\x05p.add(two);\x05\x05p.add(three);\x05\x05p.add(four);\x05\x05p.add(five);\x05\x05p.add(six);\x05\x05p.add(seven);\x05\x05p.add(eight);\x05\x05p.add(nine);\x05\x05p.add(zero);\x05\x05p.add(add);\x05\x05p.add(sub);\x05\x05p.add(mul);\x05\x05p.add(div);\x05\x05p.add(decimal);\x05\x05p.add(equal);\x05\x05\x05\x05final String[] ary = {"",null,""};\x05\x05\x05\x05class NumMouseListener implements MouseListener{\x05\x05\x05public void mouseClicked(MouseEvent e) {\x05\x05\x05\x05String num = ((Button)e.getSource()).getLabel().trim();\x05\x05\x05\x05if(ary[1] == null){\x05\x05\x05\x05\x05ary[0] = ary[0] + "" +\x05\x05\x05\x05}else{\x05\x05\x05\x05\x05ary[2] = ary[2] + "" +\x05\x05\x05\x05}\x05\x05\x05\x05\x05\x05\x05\x05tf.setText(tf.getText() + "" + num);\x05\x05\x05}\x05\x05\x05public void mouseEntered(MouseEvent e) {}\x05\x05\x05public void mouseExited(MouseEvent e) {}\x05\x05\x05public void mousePressed(MouseEvent e) {}\x05\x05\x05public void mouseReleased(MouseEvent e) {}\x05\x05\x05\x05\x05}\x05\x05\x05\x05one.addMouseListener(new NumMouseListener());\x05\x05two.addMouseListener(new NumMouseListener());\x05\x05three.addMouseListener(new NumMouseListener());\x05\x05four.addMouseListener(new NumMouseListener());\x05\x05five.addMouseListener(new NumMouseListener());\x05\x05six.addMouseListener(new NumMouseListener());\x05\x05seven.addMouseListener(new NumMouseListener());\x05\x05eight.addMouseListener(new NumMouseListener());\x05\x05nine.addMouseListener(new NumMouseListener());\x05\x05zero.addMouseListener(new NumMouseListener());\x05\x05\x05\x05class OperatotrMouseListener implements MouseListener{\x05\x05\x05public void mouseClicked(MouseEvent e) {\x05\x05\x05\x05if(e.getSource() == equal){\x05\x05\x05\x05\x05try {\x05\x05\x05\x05\x05\x05long result = calculate(Integer.parseInt(ary[0]),Integer.parseInt(ary[2]),ary[1]);\x05\x05\x05\x05\x05\x05tf.setText(String.valueOf(result));\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05ary[0] = tf.getText();\x05\x05\x05\x05\x05\x05ary[1] =\x05\x05\x05\x05\x05\x05ary[2] = "";\x05\x05\x05\x05\x05} catch (Exception e1) {\x05\x05\x05\x05\x05\x05e1.printStackTrace();\x05\x05\x05\x05\x05}\x05\x05\x05\x05}else{\x05\x05\x05\x05\x05ary[1] = ((Button) e.getSource()).getLabel();\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05if(ary[0].length() > 0){\x05\x05\x05\x05\x05\x05ary[2] = "";\x05\x05\x05\x05\x05}else{\x05\x05\x05\x05\x05\x05ary[0] = String.valueOf(tf.getText());\x05\x05\x05\x05\x05}\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05tf.setText("");\x05\x05\x05\x05}\x05\x05\x05}\x05\x05\x05private long calculate(int i,int j,String operator) throws Exception {\x05\x05\x05\x05if(operator.equals("+")){\x05\x05\x05\x05\x05return i +\x05\x05\x05\x05}else if(operator.equals("-")){\x05\x05\x05\x05\x05return i -\x05\x05\x05\x05}else if(operator.equals("*")){\x05\x05\x05\x05\x05return i *\x05\x05\x05\x05}else if(operator.equals("/")){\x05\x05\x05\x05\x05return i /\x05\x05\x05\x05}else{\x05\x05\x05\x05\x05throw new Exception("Invalid operator.(Only +-/* accepted");\x05\x05\x05\x05}\x05\x05\x05}\x05\x05\x05public void mouseEntered(MouseEvent e) {}\x05\x05\x05public void mouseExited(MouseEvent e) {}\x05\x05\x05public void mousePressed(MouseEvent e) {}\x05\x05\x05public void mouseReleased(MouseEvent e) {}\x05\x05}\x05\x05\x05\x05add.addMouseListener(new OperatotrMouseListener());\x05\x05mul.addMouseListener(new OperatotrMouseListener());\x05\x05div.addMouseListener(new OperatotrMouseListener());\x05\x05sub.addMouseListener(new OperatotrMouseListener());\x05\x05equal.addMouseListener(new OperatotrMouseListener());\x05\x05\x05\x05f.addWindowListener(new WindowListener(){\x05\x05\x05public void windowClosing(WindowEvent e) {\x05\x05\x05\x05System.exit(0);\x05\x05\x05}\x05\x05\x05\x05\x05\x05public void windowActivated(WindowEvent e) {}\x05\x05\x05public void windowClosed(WindowEvent e) {}\x05\x05\x05public void windowDeactivated(WindowEvent e) {}\x05\x05\x05public void windowDeiconified(WindowEvent e) {}\x05\x05\x05public void windowIconified(WindowEvent e) {}\x05\x05\x05public void windowOpened(WindowEvent e) {}\x05\x05});\x05\x05\x05\x05f.setVisible(true);\x05\x05f.setBounds(200,200,250,250);\x05\x05f.validate();\x05}}
为您推荐:
扫描下载二维码小编也是小白,面试经常被问到这个问题,这里解释一下:
1.可扩展性,你的代码可以随时的增加项目,修改项目,删除一部分功能,不影响代码的完整性。
2.可维护性,你的代码修改一个模块就是修改一个模块,各位互不干涉内政。
3.符合面向对象的原则,充分体现多态性。
4.符合设计原则,对1.2.3.的整体概括,
5.高内聚低耦合,每个模块好像没有什么关系,但是放在一起容错率极高。
6.设计模式:23
可重用代码的基本特性
1.代码容易找到且容易理解
2.对代码正确性很有把握
3.不需要从包含他的外层代码把他分...
new创建对象数组 比较 new单个对象的优点
使用new可以新建类的单个和多个对象,如下:class Obj{
Obj(int x);
...}void Test(void){
Obj *a=new O ...
好代码的标准
什么是好的代码呢?我一直在考虑这个问题。
好的代码,应当具有一些特点:逻辑简单:最直观,最容易理解,最合逻辑的方案,一般是最好的方案。易扩展:封装住可能的变化。模块化:对模块外是黑盒。单一功能:不做...
转载地址 http://www.cnblogs.com/crazybingo/archive//1890953.html
先给大家看一段据说是史上最强的程序:
C#基础教程代码大全,包含了各&em&特性的代码&/em&实例 综合评分:4 收藏评论(1)举报 所需: 3积分/C币 开通VIP 立即下载 评论共有1条 空白凌乱感
原文:Characteristics of Good APIs
作者: Erik Dietrich
翻译:黑色巧克力
译者注:好的API是怎样的,应该具备哪些特点,作者对此进行了详细...
1.引用参数
使用引用替代指针且所有不变的引用参数必须加上const。在C 语言中,如果函数需要修改变量的值,参数必须为指针,如int foo(int *pval),在 C++ 中,函数还可以声明引...
封装性:隐藏实现细节,使得代码模块化,实现代码重用。
继承性:可以扩展存在的代码模块(类)。达到代码重用的目的,避免代码重复。
多态性:为了接口重用。也就是,不论传递过来的究竟是哪个类的对象,函数都能...
面向对象的三大特征和五大原则
面向对象的三大特性
所谓封装,就是将客观事物封装成抽象的类,并且类可以把数据和方法让可信的类或者对象进行操作,对不可信的类或者对象进行隐藏。类就是封装数据和操作这些数据代码的逻辑...
没有更多推荐了,}

我要回帖

更多关于 面向对象程序设计java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信