zoukankan      html  css  js  c++  java
  • 面向对象浅谈(1)

    最近两天放下了手中的工程项目,静下心来,谈谈一些自己对.NET面向对象的理解。有的人对程序设计一年半载还不知道面向对象是怎么回事,这好像很正常。前两天有个网友问了我一个问题,说:

    “他在C#里建了两个窗体From1和From2, 现在他想当他关闭Form2时,能够让from1刷新一下. 简单的说就是让From1的load事件再执行一次!”。当时我的第一个反应时,怎么这个都不知道。这是面向对象里的基础嘛。于是我告诉他:你把Form1的Load事件改为Public事件,然后在关闭Form2的时候建立一个Form1的对象,调用Form1的Load事件就可以了。后来他实现了。
        在.NET windows程序中跨越窗体执行命令一般都采用的是页面传值的方式。有的朋友和我探讨过windows程序中的页面传值问题,有的说“不安全”,有的说“很方便”。我也不知道是“很方便”还是"不安全",“方便”当然不用说了,不安全我也遇到过,那是在某个软件设计大赛上,我用C#制作了一个windows程序,页面传值用了很多。编译的时候还挺方便的,可到了准备发布的时候,我感觉我的程序存在内存泄漏问题,当然我不能确定就是页面传值过多造成的.但是这是让我一直思考的问题,我回到家里一直探索这个问题的原因,知道现在自己也不能确定是什么原因造成的。
        面向对象就是这样的。你说不清楚,就让你自己去感觉。给你讲千篇一律的面向对象语法,那似乎是没意思的。在我印象里面向对象最大的特点是抽象。而且是越来越抽象。在早期的程序开发中,很多程序员都是用的VB开发,VB 6.0不是一个完全的面向对象的编程。给人感觉是"很简单"。现在的VB.NET却是一个完全面向对象的编程,给人的感觉就是:“很简单,很深奥”。说它很简单是应为微软在界面操作和美化等方面让程序员加快了开发效率。说它很深奥是因为它完全面向对象了。
        你在百度里搜一搜“面向对象”,答案大致都一样,可很多人就体验不了那是什么。体验不到的最直接原因也许是开发经验的问题。为什么这么说呢?原因还得从面向过程谈起。
        古老的面向对象编程使人么对编程的感觉是痛苦的,代码重用率太低太低,普通的代码要不停的复制粘贴复制粘贴。即使最好的软件维护性也特别差,我们一直要求我们的软件产品一定要完整和长期性。良好的维护是我们必须干的事情,从而延长软件的生命周期。看过C语言开发的软件的代码的程序员一定很痛苦,整个程序里没有任何安全机制,要做到安全就靠程序员对代码的深刻理解和堆栈的深刻认识。没有深刻的认识和了解,软件的稳定性是很难保证的。也许前期运行的好好的,可到了后来却不明的出现各种问题。
        .NET也是在改善程序设计方面合理的运用而生的。我不说Java怎样,我就觉得.NET里的面向对象是很彻底的,怎么个彻底法呢?我们都知道对象的概念是我们研究的任何事物,也就是我们研究的任何事物都可以称作对象。(待续)
  • 相关阅读:
    企业项目开发--分布式缓存memcached(3)
    何时及为什么整理代码:现在,以后,从不
    【译文】程序员的两种类型
    国际化SEO优化的最佳实践
    动态代理的基本理解与基本使用
    Filter过滤器-JavaWeb三大组件之一
    java通过jdbc插入中文到mysql显示异常(问号或者乱码)
    BeanUtils封装对象时一直提示ClassNotFoundException:org.apache.commons.beanutils.BeanUtils
    MVC开发模式与javaEE三层架构
    JSP、EL表达式、JSTL
  • 原文地址:https://www.cnblogs.com/liufanping/p/1448993.html
Copyright © 2011-2022 走看看