简单说说如何上手面向对象编程?
2017-03-22 17:02
141 查看
javascript 无法创建类 函数来封装特定接口创建对象.面向对象语言有一个标志,即拥有类的概念,抽象实例对象的公共方法和属性,基于类可以创建任意多个实例对象!类的概念:在现实生活中,相似的对象之间往往都有一些共同的组成特征。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>The eighth group</title> </head> <body> <script type="text/javascript"> /*** * 如何上手面向对象编程? * 面向对象三大特性:封装,继承,多态 * javascript 无法创建类 函数来封装特定接口创建对象 * 面向对象语言有一个标志,即拥有类的概念,抽象实例对象的公共方法和属性,基于类可以创建任意多个实例对象! * 类的概念:在现实生活中,相似的对象之间往往都有一些共同的组成特征。 ***/ /*** * 创建对象 * 对象字面量方式, new关键字,object.create()函数来创建。 ***/ //对象字面量方式 var Empty = {};//没有任何属性的对象 var Me ={ name: "beimeng", hair: "black", say: function(){ console.log("I am" + Me.name); } }; Me.say(); //new关键词创建对象 var obj = new Object();//创建一个空对象,和{}一样 //object.create()创建对象 var o = Object.create({x:1}); console.log(o); console.log(o.x); /*** * 面向对象第一步:创建类 * 因为 javascript 中无法创建类,因此,用函数来封装以特定接口创建对象 * 我对面向对象的理解? * 说道面向对象开发就想到23种设计模式,想到曾经买过《大话设计模式》和《javascript设计模式》的书。 * 23中设计模式根据不同的场景应用不同环境中,设计模式只是一种思想,让你的代码框架更易扩展。 * 面向对象思想的前提是抽象,从现实世界中抽象出一些对象或者类的共性之后“封装”成类或者抽象类或者接口。 * 这些类也罢,接口也好。是为了增加代码的复用性,既然是为了复用,当然需要子类来“继承”。 * 在继承的过程中为了满足子类个性化的需求,于是“多态”就自然的出现。 ***/ var Person = (function () { /*** * @param name 姓名 * @param male 性别 * @param age 年龄 * @param hobby 爱好 * @constructor */ var Person = function (name, male, age, hobby) { this.name = name; this.male = male; this.age = age; this.hobby = hobby; }; return function (name, male, age, hobby) { return new Person(name, male, age, hobby); }; })(); var personOne = Person("onename","男",18,"打篮球"); var personTwo = Person("twoname","女",26,"打篮球"); console.log(personOne, personTwo); </script> </body> </html>
相关文章推荐
- 如何自学VR虚拟现实技术?VR简单上手教程
- 简单说说如何测试内存泄漏
- 这篇博客的目的在于简单介绍如何快速上手使用Spring MVC框架
- 如何简单愉快的上手PipelineDB
- 简单说说Android中如何使用摄像头和相册
- 如何自学VR虚拟现实技术?VR简单上手教程
- 如何快乐上手DroiBaaS 云代码操作! Oh My God, 怎么会这么简单!
- 简单说说如何把json或者txt文件转换为db
- 简单说说spring的事务机制,以及是如何管理的?
- 如何自学VR虚拟现实技术?VR简单上手教程
- 如何使电商APP制作变得简单易懂,容易上手?
- 简单说说SpringFramework
- 已知,前[后]序,和中序遍历,如何简单地求出另一遍历
- 快速上手XDoclet 1 -- Servlet简单实例
- asp.net如何生成图片验证码(简单)
- 如何简单实现office文档的打开、编辑和上传?
- 如何创建一个简单的JAVA存储过程?[转贴]
- asp.net如何生成图片验证码(简单)
- 如何学习数据库??《part1。几个简单的提问》
- 如何取得字符点阵数据(GetGlyphOutline函数简单应用)