面向对象的写法该如何

liwenhan1453 2017-10-23 04:34:52
加精
在自己学习C#编程,但是现在还是在面向过程编程,一直都没有明白什么叫做面向对象编程;
例如我现在在写一个计算软件,该怎么编程才算是面向对象呢?
菜鸟中的新手,,,求指导
...全文
9395 105 打赏 收藏 转发到动态 举报
写回复
用AI写文章
105 条回复
切换为时间正序
请发表友善的回复…
发表回复
事已至 2017-11-28
  • 打赏
  • 举报
回复
买本书看《大话设计模式》,看完你就懂了,代码也漂亮了
_jiasong 2017-11-24
  • 打赏
  • 举报
回复
Object 开始会用就行了,至于什么是Object,源码给我都不一定看的懂
qq_38387047 2017-11-23
  • 打赏
  • 举报
回复
直接写几个面向对象的小项目就解决了
cgc200310 2017-11-23
  • 打赏
  • 举报
回复
引用 12 楼 pengqian098 的回复:
面向对象编程?这不就是!
非常直观
wanghui0380 2017-11-23
  • 打赏
  • 举报
回复
翻页
疯羽翼 2017-11-23
  • 打赏
  • 举报
回复
引用 12 楼 pengqian098 的回复:
面向对象编程?这不就是!
这波操作666 ,不过面向的有可能是别人的对象
eperofC# 2017-11-20
  • 打赏
  • 举报
回复
面向对象,我认为就是图形化编程,有成员在窗体之中,起好名字,再设计成员要作的事。我为什么迟迟不学C/C++,一是它不识中文,二是它无窗体,java也无窗体也很排斥,只有有窗体的编程,成员才好控制。
Vito1993 2017-11-20
  • 打赏
  • 举报
回复
引用 95 楼 sau357ad 的回复:
面向对象,我认为就是图形化编程,有成员在窗体之中,起好名字,再设计成员要作的事。我为什么迟迟不学C/C++,一是它不识中文,二是它无窗体,java也无窗体也很排斥,只有有窗体的编程,成员才好控制。
面向对象和图形化编程有什么关系吗 再说了 c/c++有mfc 还有qt java有swing awt 还有fx
MarkManYUN 2017-11-19
  • 打赏
  • 举报
回复
把生活中的实体映射到代码中,比如人,汽车,房子等等,都有自己独有的,也有共有的额,然后就衍生到接口和抽象类,继承,也就是多态,继承,派生,封装
MarkManYUN 2017-11-19
  • 打赏
  • 举报
回复
面向对象嘛,就是楼上说的
u010606234 2017-11-17
  • 打赏
  • 举报
回复
你得明白为什么用c++,当你明白时自然就知道什么是了。c照样可以用++的思想编码
Dogfish 2017-11-17
  • 打赏
  • 举报
回复
这个真的要看相关的书才可。
  • 打赏
  • 举报
回复
都是段子手啊
  • 打赏
  • 举报
回复
封装、继承、多态
小灰狼 2017-11-14
  • 打赏
  • 举报
回复
结构化程序设计,就象以前(当然现在也流行)的C语言(不是C++)那样,甚至象汇编语言那样,你要从机器的思维方式思考方式来考虑如何解决你的业务逻辑功能 面向对象程序设计,让你用更加接近于人类世界的思维方式来考虑解决实际业务逻辑
mk_lucifer 2017-11-10
  • 打赏
  • 举报
回复
面向对象主要是模块化,实例化,抽象化,可继承。 模块化:比如你用一台电视机,只需要向外提供遥控器的操作说明,使用者不用深究其原理,比如关闭电视机 TV.Close(),打开TV.Open() 换到5频道,TV.Change(5),甚至你可以追加功能直接通过台名解释频道 调用 TV.Change(“CCTV”),这对于使用者是极大方便。 实例化:在面向对象中我们会把复杂的功能代码封装成一个叫类的东东,你可以认为他是一个实例制造器,同样拿电视为例 ClassTV ,实例化本质是生成和实例相关的数据块,表象就是生成了好多实例。。。 ClassTV TV1=new ClassTV(); 我们有了一台电视,在调用ClassTV TV2=new ClassTV(); 变成两台, 调用TV1.Open()是打开第一台电视,TV2.Open()是打开第二台。 抽象化: 比如我们定义一台电视TVBase,有三个操作,Open打开,Close关闭,Change换台。。但问题是我不想实现代码,我只是个模型制定者,我需要三个厂家制作不同的电视,但操作方法都是相同Open,Close,Change。 那么做法就是从TVBase派生, class TCL_TV:TVBase class Simens_TV:TVBase。 然后由TCL和西门子分别制造了两台实现方式完全不同的两台电视,这么做的原因是为了让用会,即模块使用者不关心实现,直接可以使用,因为用法相同Open,Close,Change。 所以 会存在 无论你写 TVBase TV=new Simens_TV() ;还是写 TVBase TV=new TCL_TV()都不影响之后的代码运行,这叫抽象化,抽象出一类模块必须具备的功能。 可继承: 这就好理解了,比如TCL从TVBase就是一种继承,他继承了一个抽象类, 同时我要改进TCL可以 class TCL_TV_PLUS:TCL_TV,来个升级版,重新增加或修改TCL电视的功能和性能,但原先以实现的可以保留,这也叫一种继承。
jiuzaizuotian2014 2017-11-09
  • 打赏
  • 举报
回复
简单说就是假设你有很多女朋友,一个女朋友就是一个对象。如果采用面向过程的编程方法,那么,每个女朋友有好多事情(吃饭、买衣服、开车、洗漱)需要做,那么就都由你手把手帮她做了。如果面向过程的话,就是你每一个女朋友的事情都由她自己去做,你只需要宏观性的下达一些指令让她们自己去做好了。
静静的意思 2017-11-09
  • 打赏
  • 举报
回复
菜鸟一枚,学习学习。 C#开发两年了,感觉只有大项目面向对象和设计模式用的多啊~小项目都木有架构,直接产出exe了。。。
洋仔 2017-11-09
  • 打赏
  • 举报
回复
计算程序的话,最好还是拿面向过程函数写吧。几乎没有可抽象和封装的东西,而且最终计算逻辑还是脱不开一个计算函数。拿这个做例子不好理解面向对象。正如楼上几位说的,找个实际场景分析分析。找个J2EE的小项目瞅瞅代码,应该能明白一些。。。
choueny 2017-11-08
  • 打赏
  • 举报
回复
首先面向对象始终是对代码进行优化 提升可读性 面向对象的出现就是为了接近人类思维 所以它是很简单的 不知道你说的计算软件是计算什么的 如果是比较简单的 直接面向过程也可以 过于简单的东西如果非要用面向对象那是过度了 比如写一个两位数运算的程序 完全不需要面向对象 但是如果预计到这个程序未来需要扩展功能 那么就只能用面向对象 建议你用面向过程写一个大项目 然后对代码不断优化 然后你再学习面向对象 然后你会赞叹不已 原来还有这么好的优化方式 我怎么没有想到
加载更多回复(53)

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧