【JavaScript】JavaScript中的封装继承多态
来源:互联网 发布:js分页代码 编辑:程序博客网 时间:2024/06/05 09:56
封装(Encapsulation)
如下代码,这就算是封装了
(function (windows, undefined) { var i = 0;//相对外部环境来说,这里的i就算是封装了})(window, undefined);
继承(Inheritance)
(function (windows, undefined) { //父类 function Person() { } Person.prototype.name = "name in Person"; //子类 function Student() { } Student.prototype = new Person(); //修复原型 Student.prototype.constructor = Student; //构造函数 Student.prototype.supr = Person.prototype; //父类 //创建子类实例 var stu = new Student(); Student.prototype.age = 28; Student.prototype.supr.name = "name in Student instance"; //打印子类成员及父类成员 alert(stu.name); //name in Student instance alert(stu.supr.name); //name in Person alert(stu.age); //28 })(window, undefined);
多态(Polymorphism)
有了继承,多态就好办了
<pre name="code" class="javascript">//这就是继承了(function (windows, undefined) { //父类 function Person() { } Person.prototype.name = "name in Person"; Person.prototype.learning = function () { alert("learning in Person") } //子类 function Student() { } Student.prototype = new Person(); //修复原型 Student.prototype.constructor = Student; //构造函数 Student.prototype.supr = Person.prototype; //父类 Student.prototype.learning = function () { alert("learning in Student"); } //工人 function Worker() { } Worker.prototype = new Person(); //修复原型 Worker.prototype.constructor = Worker; //构造函数 Worker.prototype.supr = Person.prototype; //父类 Worker.prototype.learning = function () { alert("learning in Worker"); } //工厂 var personFactory = function (type) { switch (type) { case "Worker": return new Worker(); break; case "Student": return new Student(); break; } return new Person(); }
客户端:
<pre name="code" class="javascript"> var person = personFactory("Student"); person.learning(); //learning in Student person = personFactory("Worker"); person.learning(); //learning in Worker })(window, undefined);
Java与JavaScript的区别
一、首先,这两个家伙的本质也不一样,java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,即使是开发简单的程序,也必须设计对象;而JavaScript是一种直译式脚本语言,它本身提供了非常丰富的内部对象供设计人员使用。
二、其次它们的执行方式也是不一样的,Java是介于解释型和编译型语言之间的一种语言,java的源代码在传递到客户端执行之前,必须经过编译,通过相应平台上的解释器,实现独立于某个特定的平台编译代码的束缚。JavaScript是一种解释性编程语言,其源代码在发往客户执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。
三、再其次两者的用途也不一样,java广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,而Javascript的用途是:1.嵌入动态文本于HTML页面;2.对浏览器事件做出响应; 3.读写HTML元素;4.在数据被提交到服务器之前验证数据;5.检测访客的浏览器信息; 6.控制cookies,包括创建和修改等。
1 0
- 【JavaScript】JavaScript中的封装继承多态
- javascript中的封装多态和继承
- JavaScript中的模块化:封装,继承
- JavaScript三大特性,继承封装多态
- JavaScript 利用prototype原型实现封装继承多态
- JavaScript中的继承和多态
- javascript 中的 prototype 多继承
- JavaScript的继承的封装
- JavaScript闭包封装,继承
- javascript封装,继承,方法重写
- Javascript笔记-JavaScript中的继承
- JavaScript中的封装
- JavaScript中的继承性
- JavaScript中的类继承
- JavaScript中的类继承
- JavaScript中的类继承
- JavaScript中的类继承
- JavaScript中的类继承
- Java Stream(流)、file(文件)和IO
- 嵌入式学习的一些个人理解
- 给Dataset增加行数据
- Mac OS X上使用XCode编译调用OS X的动态库
- 在Ubuntu下解决 adb devices :???????????? no permissions 方法
- 【JavaScript】JavaScript中的封装继承多态
- [leetcode] 200. Number of Islands
- C++primer学习:标准库特殊设施:正则表达式基础
- UIButton文字位置显示
- JS实现Office在线编辑和浏览(实用)
- 让字体变的更清晰CSS 中 -webkit-font-smoothing
- poj2479 Maximum sum(最大子段和变形)
- asp连接acess数据库出现 Microsoft JET Database Engine 错误 '80004005
- 如何生成验证码图片代码实现