第5讲: 类、对象、方法和参数(1)class, object, method and parameter
面向对象的程序设计(Object-oriented programming )中用类、对象和方法来组织程序。
这种组织方法的好处:
把一个大的程序分成若干个小的模块
用和现实生活中一样的概念来设计程序
容易发现程序运行错误
类和对象(class AND object)
类(Class):是一个描述一类有共性的物体的概念,如汽车、桌子等。在Alice中,每一类用一个3D模型表示。
对象(Object)
符合一个类中所描述的共性的实际的物体称为这个类的一个实例( instance ),如汽车的共性有:都有一个方向盘、四个轮子、有颜色、排气量等特点。但这仅仅是概念的描述,实际生产出来的汽车就是这个类的一个实例,我们把它叫做一个汽车对象。
在Alice中,用第一个字母大写的单词表示类名。如 Frog , Airport ; 而用全部小写的单词表示对象名。如 frog, frog1, frog2, frog3
Alice举例
场景级的方法(World-level methods)
我们所熟悉的方法如 move, turn to face, say都是属于某个对象的,这种方法我们称之为类级的方法(class-level methods)
first method中,我们称这个方法为场景级的方法。
first method太长带来的问题
随着程序功能越来越多,代码也越来越长, first method 中,则不仅不容易阅读,而且不容易发现错误。
解决方法
将my first method中的代码按照功能组织成几个相对独立的代码块,并分别给这些代码块起个名字。如:
Do in order
surprise – spiderRobot and alienOnWheels surprise each other
investigate – spiderRobot gets a closer look at alienOnWheels
react – alienOnWheels hides and spiderRobot sends message
逐步细化( Stepwise Refinement )
在原来冗长的代码中分别找出相应的代码放到surprise、investigate、和react中。如:
surprise
Do in order
alienOnWheels moves up
alienOnWheels says “who are you?"
spiderRobot's head turns around
在Alice中创建一个新的场景级方法
首先选中World节点
选中World节点的method
点击"create new method"
举例
该例子中说明的概念:
surprise 是一个 world-level method ,因为它定义在World节点中,而且其中包含对多个对象的操作(spiderRobot,alienOnWheels)
surprise 方法只有被调用(called/ invoked )才能有效果。
使用爱丽丝编程课程 5 来自淘豆网m.daumloan.com转载请标明出处.