面向对象的代码研究(一)
2016-03-15 23:11
513 查看
基础代码
稍微变体
再次变体
下面是原型和构造的混合,加入了静态属性的访问
继承
var Circle = { "PI":3.1415, 'area':function(r){ return this.PI * r *r; }; } console.log(Circle.area(1.0)); //直接量,最直观
稍微变体
//分步写法,新建对象,对象属性、方法赋值 var Circle = new object(); Circle.PI = 3.1415; Circle.Area = function(r){ return this.PI * r * r; } console.log(Circle.Area(1.0));
再次变体
//工厂模式,稍微变体 var Circle = function(){ var obj = new object(); obj.PI = 3.1415; obj.area = function(r){ return this.PI * r * r; } return obj; } var c = new Circle(); console.log(c.area(1.0));
下面是原型和构造的混合,加入了静态属性的访问
function Circle(r){ this.r = r; } Circle.PI = 3.1415; Circle.prototype.area = function(){ return Circle.PI * this.r * this.r; } var c = new Circle(1.0); console.log(c.area());
继承
function Person(){ var name = "default"; return { getName : function(){ return name; }, setName : function(newName){ name = newName; } } }; var p = new Person(); p.setName("Tom"); alert(p.getName()); var Jack = function(){}; //继承自Person Jack.prototype = new Person(); //添加私有方法 Jack.prototype.Say = function(){ alert("Hello,my name is Jack"); }; var j = new Jack(); j.setName("Jack"); j.Say(); alert(j.getName());
相关文章推荐
- 设计模式之------创建型模式(五)-----原型模式
- Ajax前台请求 以及 后台 Java 处理 (包含undefined的问题)
- java连接数据库常见错误总结
- Java Bean简单介绍
- C#中??操作符和?操作符
- go源码阅读笔记(math.1)
- leetcode:Restore IP Addresses 【Java】
- 编程之路
- struts2——(8)(①3种情况通配符的使用方法②动态方法调用 )
- 展示浮点数格式C代码
- 关于java对象复制clone 给一个对象赋值 会随原来的对象变化
- java多态类的成员访问特点探究
- maven生成web project,后转换为eclipse
- java中的编码与解码问题
- vsftpd: not configured for standalone, must be started from inetd
- 第一次c++上机报告--1
- JAVA 高级报表导出Excel
- Spring注解
- springMVC-配置Bean
- Otsu算法在C/C++上的实现(从图片读取到像素值计算以及图片写回)