世界上的万物本来就是相互作用、相互影响、相互联系的,代数是用数字来表达世界,几何用图形来表示世界,语文是用文字来说明世界,计算机是用0和1来记录世界,虽然表现形式不一样,但本质却是一样的。人类用语言来相互交流沟通,人类与计算机是用编程语言来相互交流的。
说到底,我认为编程纯粹就是一种思维的活动,编程语言就仅仅作为一门人与计算机交流的工具而已。编程语言就像人类的语言一样,在人类的语言中有汉语、英语、德语、法语、日语;在编程语言中有C++、Java、C#、PHP,同样有优劣、是否流行之分。语言本身自古以来就扮演着非常重要的角色,没有语言,就没有人类今天伟大的文明。自然而然地,语言就成为了一门学问,一门艺术。
俗话说:“看菜吃放,量体裁衣”。说的就是说话要看对象。这编程语言也一样,要根据不同的需求来决定用哪门语言。具体问题具体分析,如果要做操作系统,那么你必须要用大量汇编语言混合C语言来做。这样作出的操作系统相对来说性能才会更高,运行的速度才会更快。但是如果要做一些桌面软件或者银行系统的话,那么用Java或者C#会更加合适。 而开发一些网站,用PHP则会更加合适。
文明既然是由于人类长期劳动而派生的产物,那么,它就与人类的活动是息息相关的。 水永远是鱼儿赖以生存息息之地,天空是雄鹰得以翱翔的地方。软件道理也是一样,Windows的应用程序不能在Linux平台上运行,Linux上的程序不能在Windows平台上运行。之所以不兼容,是因为平台不同。
既然编程语言是人类的杰作,那么人一定赋予编程语言人性化的思想。就像这Java或者C#就是典型的纯粹的面向对象语言。这是一种新兴的编程思想,与过去传统的面向过程的思想编程完全不同。
举一个运动员射击的程序
按照传统的面向过程的思想编程:首先你要通过编程依次实现运动员拿枪,装子弹,举抢,瞄准,扣动扳机.总之,就是一步一步地顺序地实现编程.
但是,按照面向对象思想:首先你要考虑要想实现运动员射击的程序,有哪些类和哪些对象,应该需要运动员类,枪类,子弹类吧。
在考虑一个类里有哪些属性和方法,属性和方法要放在合适的类里。至于实现的细节暂时不必理会,主要封装在方法里了.在考虑类之间的联系,再处理好类调用之间的关系。
就具体那Java语言来说吧。
Java语言最重要的三个特征就是——类的封装性、类的继承性和类的多态性。
类的封装性
1、隐藏类的实现细节。
2、让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作。
3、便于修改,增强代码的可维护性。
4、可进行数据检查
1和2尚且好理解,可是3和4应该如何来理解呢?
对于3,我觉得就是面向对象的一个重要特点,开发程序的时候,对于一些常用的方法或函数或者一些反复出现的常量变量等,都可以把他放到一个类里封装起来,这样,如果需要修改这些中的一个的话,就可以很方便了,不用去检查所有出现这些变量或函数及方法的地方了,便于维护。
对于4 以便对于需要用户输入数据的程序JAVA中一般会提供set和get方法来设置和读取数据,这样就可以在set方法中先检查数据是否合法,而不是让用户直接来操作变量。
类的继承性
1、在java中通过关键字 extends 继承一个已有的类,被继承的类成为父类(基类),新的类称为子类(派生类图片)。
2、在java中,不允许多继承
3、在子类中定义一个与父类同名、返回类型、参数类型均相同的一个方法,称为方法的 覆盖。
4、覆盖 发生在子类与父类之间。
5、特殊变量super 提供了对父类的访问。
6、可以使用super 访问父类被子类隐藏的变量和覆盖的方法。
7、每个子类构造方法的第一条语句,都是隐含的调用super(),如果父类没有构造方法,那么在编译的时候就会报错。
类的多态性
1、通过覆盖父类的方法来实现,在运行时根据传递的对象引用,来调用相应的方法。
2、简单概括多态性:当我们将子类对象的引用传给声明为父类的一个对象变量,如果子类有这个方法就调用子类的方法,如果子类没有这个方法就调用父类的这个方法。
3、多态性的好处:它可以根据在运行的时候,根据我们传递不同对象的引用,来调用不同对象的方法。
我认为Java的三个特性在很大的程度上是跟生物学和管理学相关的。
再说说成员变量和成员函数吧。其实,这成员变量就像对象存在的一个属性仰或说状态。就那人来说吧,人的生死就是一种状态,性别就是一种属性。
而这成员函数就根据这不同状态或者属性来处理一些逻辑。就像人饿了要吃放,渴了要喝水一样。
在这里还涉及到一个重要概念——事件,程序一般都是按照事件来驱动的。就像运动员射中目标了或者没射中目标,这就是一个事件。
至于裁判要给多少分,可以把裁判作为一个监听器来处理,要给多少分就是监听器要处理的逻辑。
一个应用程序都是有其规律性可言的。它就像世界的万物一样,有生老病死。一个应用程序相对应的生命周期那就是——初始化状态,运行状态,暂停状态,销毁状态,其中不同的状态一般对应一个相应的方法。
其实,我认为一个应用程序抽象出来也不过只有5种最基本简单的操作——创建,插入,删除,修改,查询。
因为世界本来就很简单。
没有评论:
发表评论