1.js训练环境的设置
对于开发人员来说,机器上应该大多都早安装上了一些Web浏览器了,例如Firefox,Safari,Chrome,或是Internet Explorer。而所有的现代的浏览器中应该自带了JavaScript控制台组建,该组件是我们用到的东西,是帮助我们学习和实验的环境。更具体的说,WebKit控制台(Safari和Chrome都支持该控制平台。
浏览器F12键就可以打开开发者工具组建,打开后,按下Script标签就可以进入控制台,Firefox浏览器可以通过菜单栏“工具/Web开发者/Web控制台”来打开 ,另外通过上下键,我们还可以随时从相关列表中找到已经执行过的命令,并在控制台中重新执行他们。通常情况小,控制台只能提供单行的输入,当我们可以用分号做分隔符来执行多个JavaScript语句。如果需要更多行代码的话,也可以通过组合键shift+Enter来实现换行,这种情况下代码不会被立即执行。
2.对象
既然这种程序的设计风格叫做面向对象,那么其重点就应该在对象上。而所谓对象,实质上就是“事物”(报考人和物)在程序设计的语言中的表现形式。这里的“事物”可以是任何东西(如某个客观存在的对象,或者某些较为抽象的概念)。对于猫这种常见对象来来说,我们可以看到他们有某些明确的特征(如颜色,名字,体型等),能执行某些活动(如喵喵叫,睡觉,躲起来,逃跑等)。在opp语言中,这些对象特征叫做属性,而那些动作则被称为方法。
此外,还有一个口语方面的类比(英文环境中)
对象往往是用名词来表示的(如 book person)
方法一般都些动词(如 read run)
属性值则往往是一些形容词
例如:在“The blcak cat sleeps on my head” 这句话中,“the cat”(名词)就是一个对象,“black”(形容词)则是一个颜色属性值,而“sleep”(动词)则代表了一个动作,也就数opp语义中的方法。甚至,为了进一步证明类比的合理性,我们也可以将句子中的“on my head”看作“sleep”的一个限制条件,因此,他可以被当作传递给sleep方法的一个参数
3.类
在现实生活中,相似的对象直接按往往都有一些共同的组成特征。例蜂鸟和老鹰都有具有鸟类的特征,因此他们可以被统称为鸟类。在opp中,类实际上是对象的设计蓝图或制作方案。“对象”这个词,我们有时候也叫做“实例”,所以我们可以说老鹰是鸟类的一个实例(在中文环境中老鹰像是鸟类的一个子类)。我们可以居于不同的一个类床创建出许多不同的对象,因此类更多是一种模板,而是对象则是模板的基础上创建出来的一个实体。
4.封装
封装是另一个与opp相关的概念,其主要的用于阐述对象中所包含的内容。封装概念通常由两部分组成
相关的数据(用于储存属性)
基于这些数据所能做的事(所能调用的方法)
除此之外,这个术语中还用另一层信息隐藏的概念,这完全是另一方面的问题。因此,我们在理解这个概念时,必须留意它在opp中具体环境
关于信息隐藏,还有另一方面内容,即方法与属性的可见性。在某些语言中,我们能通过 public,private,protected这些关键字来限定方法和属性的可见性。这种限定分类定义了对象用户所能访问的层次。例如:private 方法只有其所在对象内部的代码才能有权访问,而public 方法则是任何人都能访问的。在Js中,尽管所有的方法和属性都是public的,我们看到的,该语言的还是提供了一些隐藏的数据的方法以保护程序的隐秘性。
5.聚合
所谓的聚合,有时候也叫做组合,实际上是指我们将几个现有的对象合并成一个新的对象的过程。总之,这个概念所强调的就是这种将多个对象合二为一的能力。通过聚合这种强有力的方法,我们将一个问题分解成多个更小的问题。这样一来,问题就会显得更易于管理(便于我们各个击破),当一个问题域的复杂程度令我们难以接受时,我们就可以考虑将它分解成若干子问题区,并且必要的话,这些问题区还可以再继续分解成更小的分区。这样有利于我们从几个不同的抽象层次考虑问题。
6.继承
通过这种继承的方式,我们可以非常优雅的实现对现有代码的重用。例如:我们有一个叫做person的一般对象,其中包含一些姓名,出生日期之类的属性,以及一些功能函数,如步行,谈话,睡觉,吃饭等,然后,当我们发现自己需要一个Programmer对象时,当然,这个时候你可以将person对象那个中所有的方法和属性重新实现一遍,除此之外还有一种更聪明的方法,即我们可以让Programmer继承自person,这样就省去我们不少的工作。应为Programmer对象那个只需要实现那个属于它自己的那部分特殊功能(例如:“编写代码”)而其余部分只需车重用person的实现即可。
7.多态
在之前的例子中,我们的Programmer 对象继承上一级对象person的所有属性方法。这意味着这两个对象实现了“talk”等方法。现在,我们的代码中有一个叫做Bob的变量,即便是在我们不知道它是一个person对象还是一个Programme对象的情况下,也依然可以直接调用该对象的“talk”方法,而不必担心这会影响代码的正常工作。类似这种不同独享通过相同的方法调用来实现各自行为的能力,我们称之为“多态”
(2)Js的基础数据类型
阅读(2179) | 评论(0) | 转发(0) |