javascript:面向对象编程基础:封装-阿里云开发者社区

开发者社区> 嗯哼9925> 正文

javascript:面向对象编程基础:封装

简介:
+关注继续查看
“在面向对象的思想中,最核心的概念之一就是类。一个类表示了具有相似性质的一类事物的抽象,通过实例化一个类,可以获得属于该类的一个实例 (即对象)”。很长一段时间以来(这里本人要幸灾乐祸地说),js是“一种点缀的作用,完成很有限的功能,诸如表单验证之类,其语言本身也一直被当作过程化的语言使用,很难完成复杂的功能。”。但是(这里本人要苦大仇深、痛心疾首地说),“而Ajax的出现使得复杂脚本成为必需的组成部分,这就对JavaScript 程序设计提出了新的要求,很多Ajax应用开始利用JavaScript面向对象的性质进行开发,使逻辑更加清晰。事实上,JavaScript 提供了完善的机制来实现面向对象的开发思想。”。额的神啊,本来就不想学不敢学的,现在不得不硬着头皮学了。
这里关于对象就废话这么多了。我们都知道面向对象编程的三个主要特点是:封装、继承和多态。下面就围绕着这三个特点,记录一些学习心得。
好的,先从封装性开始介绍,众所周知,对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。Code is cheap.来看简单的代码:
ContractedBlock.gifCode

上面的代码定义了一个类class1,这就是js中简单的封装,下面我们看js如何定义“静态类”,

ContractedBlock.gifCode

接着看“抽象类”:

ContractedBlock.gifCode

我们看到,上面“让class1继承于base 并实现其中的oninit方法时”,使用了“继承”的概念,请留意。再来看一下执行的效果:

ContractedBlock.gifCode
结语:前面我们已经简单模拟实现了普通类,“静态类”,“抽象类”,的定义(和C#相比),那么接口呢,委托呢?js可以模拟定义出来吗?果然是学无止境。不善于借鉴和学习的程序员不是好程序员,推荐两篇关于js接口和委托的文章,http://www.cnblogs.com/harrychen66/archive/2008/10/10/488457.htmlhttp://www.cnblogs.com/harrychen66/archive/2006/08/19/481328.html




本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2008/10/22/1317137.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JavaScript基础(一)概述
JavaScript 概述 JS作用 验证表单(以前的网速慢) 页面特效(PC端的网页效果) 移动端(移动web和app) 异步和服务器交互(AJAX) 服务端开发(nodejs) 语言类型 js是一种脚本语言,不仅是脚本语言还是弱类型的脚本语言。
1252 0
Java基础-06.总结二维数组,面向对象
1:二维数组(理解) (1)元素是一维数组的数组。(2)格式:A:数据类型[][] 数组名 = new 数据类型[m][n];B:数据类型[][] 数组名 = new 数据类型[m][];C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};D:数据类型[][] 数组名 = {{...},{...},{...}}; /*二维数组:就是元素
1401 0
Python基础(面向对象编程)
其实比如str()这个内置函数,都是在内部调用__str__方法。 之所以提供str()这种方法大概是更简洁吧,有兴趣的可以去看一下源码。
2649 0
C#基础知识-对象初始化顺序
本文章转载:http://blog.csdn.net/forever_wind/article/details/7442503 不错的文章:http://www.cnblogs.com/McJeremy/archive/2009/04/23/1442163.
517 0
JavaScript面向对象的编程指南学习笔记
JavaScript面向对象的编程指南学习笔记 第一章 1,用自己的语言描述出,什么是对象、类、封装、聚合、继承、多态? 对象,拥有属性和方法的任何抽象概念。 类,可以实例化,有共同属性或方法(行为)的相似对象,的模板 封装,提供接口,隐藏接口的实现 聚合,将大功能(对象)拆分成小功能(小对象)去实现的逆过程。
8848 0
JavaScript基础(二)变量
变量 变量的声明和初始化 var number; // 变量的声明,没有赋值 var name = "Daotin"; // 变量的初始化 命名规则(驼峰命名) 变量命名必须以字母或是**下标符号”_”或者”$”**为开头。
1026 0
JavaScript 面向对象编程之一
一:Class and private And public JS 中的类以 function 进行声明,同时 JS 也支持声明私有 private 和公有 public 成员,只不过跟 C# 不一样,它们不是使用这两个关键字实现的。
672 0
JavaScript基础(三)流程控制
流程控制 switch switch底层用的是 === 比较。 参考链接:http://www.cnblogs.com/codetker/p/4680996.html switch ("111"){ case 111: alert(111); break;...
668 0
+关注
4716
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载