前端开发:面向对象与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. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  2. OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)

    上一节我们启用了 Open vSwitch,本节将查看当前的网络状态并介绍 Open vSwitch 涉及的各种网络设备 初始网络状态 查看一下当前的网络状态. 控制节点 ifconfig 显示控制节 ...

  3. 安装eclipse的maven插件

    我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...

  4. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  5. 将DataTable中的某列转换成数组或者List

    string[] arrRate = dtRate.AsEnumerable().Select(d => d.Field<string>("arry")).ToA ...

  6. JDBC增加删除修改

    一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文件复制到项目中去,整合的时候方便. 2.在eclipse项目右击"构建路径"--"配置构建路径&qu ...

  7. Unicode 和 UTF-8 有何区别?

    Unicode符号范围 (一个字符两个字节)     | UTF-8编码方式 (十六进制)     | (二进制) —————————————————————– 这儿有四个字节从-----00 00 ...

  8. Java中的进程与线程(总结篇)

    详细文档: Java中的进程与线程.rar 474KB 1/7/2017 6:21:15 PM 概述: 几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进 ...

  9. swift 可选类型(optional)--- swift 入门

    一.思维导图 二.代码 //这样无形中就会让代码很丑陋 if x != nil && y != nil { print("x或y都不等于空") } print(&q ...

  10. 执行git push出现"Everything up-to-date"

    在github上git clone一个项目,在里面创建一个目录,然后git push的时候,出现报错"Everything up-to-date" 原因:1)没有git add . ...