前端开发:面向对象与javascript中的面向对象实现(一)

前言:

人生在世,这找不到对象是万万不行的。咱们生活中,找不到对象要挨骂,代码里也一样。朋友问我说:“嘿,在干嘛呢......”,我:“找不到对象!”,他:“就你那样也能找得到对象?”。我一脸黑线......

废话不多说,今天博主要跟大家聊的是《面向对象与javascript中的面向对象实现》”。

面向对象理解:

  面向对象是一种对现实世界理解和抽象的方法,是一种先进的程序设计理念,是一种比较抽象的,多形态的设计模式。我们可以这么理解:“万物皆对象”,我面向了它,即“面向对象”。例如,面前有一台电视机,深入剖析,这个电视机具有哪些特性?

①  它是开着的或者是关着的;

②  它有几个按钮,包括(开关键、音量键、上一个节目、下一个节目);

③  有一个机顶盒用来接收数据

  类的概念

  现在,我们把电视看成一个对象,它的抽象化就是,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,也就是说,类==对象==实例

  类的方法

    类有很多个方法,现在我们可以把电视机看成一个类,它现在有哪些方法呢? 开关、音量、节目;这是它的方法,就是类的方法;我们不需要去关心按下开关电视经历了什么样的开机过程,我们只需要知道,我按下了开关,它就会开启。

  私有与公共

  可以被用户访问到的方法叫做公共方法,而那些只可以被类访问的方法叫做私有方法,没错,就是数据,电视机在接收电视台的信息的时候,我们是不能控制的,它在内部调用了一个方法。哦~我们按下了开关这个方法,然后开关这个方法调用了一个私有的接收信息方法,然后电视就被另一个私有方法(显示在屏幕上)显示出来了。

  继承

  现在,我觉得我的电视机屏幕显示效果太烂,行,换个新的。在换上的时候,我们可以说,哦~现在电视机又多了一个显示器,拥有了这个显示器的所有控制按钮与控制接口(开关,音量等等),那我们就可以认为,电视机继承了这一个新的显示器,它继承了这个显示器的方法,它现在就可以调用这个显示器的显示方法,把电视显示在新的显示器上面。

  一张详解图:

javascript中面向对象实现(1):

  在javascript中实现面向对象没有其他oo语言那样简便,因为它并没有直接规定class标识等等,要实现它有很多种方法,博主暂且举一个最常见的栗子,其它的篇幅过长,我们在下一章一一详解:

//创建自定义数据格式

        function DianZan(){
//构造函数
}
DianZan.prototype = {
//给类添加方法
dianzan:function(){
alert("给博主点一个赞");
},
budianzan:function(){
alert("狠心拒绝");
}
} var dianzan = new DianZan(); //创建了一个实例(类) dianzan.dianzan(); //调用方法点赞

首先,我们创建了一个构造函数,然后给构造函数的原型添加了两个方法,最后,创建一个dianzan示例(类),然后调用点赞方法;  结合上面的逻辑,你看懂了吗?

总结:

  下一章我们继续深入理解javascript中的面向对象,它远没有想象中的那么复杂。弄清楚里面的原理,我想对大家来说都是一件非常有意义的事情。

---------------------------------------时间不曾停下它的脚步,你又怎么可以止步不前---------------------------------------

我的微信号:    qq:

 欢迎各种技术讨论,如果您有建站需求,欢迎联系;

 (转载请注明出处)

前端开发:面向对象与javascript中的面向对象实现(一)的更多相关文章

  1. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  2. 前端开发:javascript中的面向对象

    前端开发:面向对象与javascript中的面向对象实现(一) 面向对象理解: 面向对象是一种对现实世界理解和抽象的方法,是一种先进的程序设计理念,是一种比较抽象的,多形态的设计模式.我们可以这么理解 ...

  3. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  4. JavaScript从初见到热恋之深度讨论JavaScript中的面向对象。

    JavaScript中的面向对象.面向对象的三个基本特征:封装.继承.多态. 1.封装 js的封装如下 定义Person类 function Person(name,age,sex) { this.n ...

  5. 如何理解并学习javascript中的面向对象(OOP) [转]

    如果你想让你的javascript代码变得更加优美,性能更加卓越.或者,你想像jQuery的作者一样,写出属于自己优秀的类库(哪怕是基于 jquery的插件).那么,你请务必要学习javascript ...

  6. 【转载】【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态

    [游戏开发]在Lua中实现面向对象特性——模拟类.继承.多态   阅读目录 一.简介 二.前提知识 三.Lua中实现类.继承.多态 四.总结 回到顶部 一.简介 Lua是一门非常强大.非常灵活的脚本语 ...

  7. 前端学习 第二弹: JavaScript中的一些函数与对象(1)

    前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...

  8. 面向对象在JavaScript中的接口实现

    接口是面向对象编程的基础.它是一组包括了函数型方法的数据结构,与类一样.都是编程语言中比較抽象的概念.比方生活中的接口.机顶盒.人们利用它来实现收看不同频道和信号的节目,它宛如对不同类型的信息进行集合 ...

  9. JavaScript中的面向对象的讨论(转)

    前言 今天,WEB2.0时代的到来,给了JavaScript又一次大展身手的机会.Web2.0借助JavaScript技术,使得客户端的Web体验更加丰富多彩,同时JavaScript面对的问题域也变 ...

随机推荐

  1. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

  2. Android性能优化之利用LeakCanary检测内存泄漏及解决办法

    前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...

  3. 基于DFA敏感词查询的算法简析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要对敏感词做一个过滤,首先有几个方案可以选择: a.直 ...

  4. C#异步编程

    什么是异步编程 什么是异步编程呢?举个简单的例子: using System.Net.Http; using System.Threading.Tasks; using static System.C ...

  5. Html.DropDownLis绑定数据库

    效果: 方法一: View: <div class="col-md-md-4"> <div class="input-group"> & ...

  6. 浅谈JSP注释

    HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...

  7. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  8. 使用LogMaster4Net实现应用程序日志的集中管理

    日志在软件系统中的重要性我在此也不赘述了,几乎所有程序员每天都会更日志打交道. 那么你是否曾今为这样的一些事情而困扰过: - 远程登录到不同的服务器,找到应用程序目然后查看应用日志: - 来回切换于不 ...

  9. 触控的手牌—Cocos Creator

    科普 Cocos Creator是触控最新一代游戏工具链的名称.如果不太清楚的,可以先看一些新闻.   新编辑器Cocos Creator发布: 对不起我来晚了! http://ol.tgbus.co ...

  10. ABP源码分析十六:DTO的设计

    IDTO:空接口,用于标注Dto对象. ComboboxItemDto:用于combobox/list中Item的DTO NameValueDto<T>/NameValueDto:用于na ...