位置: 编程技术 - 正文

javascript 面向对象编程基础:封装(javascript面向对象编程)

编辑:rootadmin

很长一段时间以来(这里本人要幸灾乐祸地说),js是“一种点缀的作用,完成很有限的功能,诸如表单验证之类,其语言本身也一直被当作过程化的语言使用,很难完成复杂的功能。”。但是(这里本人要苦大仇深、痛心疾首地说),“而Ajax的出现使得复杂脚本成为必需的组成部分,这就对 JavaScript 程序设计提出了新的要求,很多Ajax应用开始利用JavaScript面向对象的性质进行开发,使逻辑更加清晰。事实上,JavaScript 提供了完善的机制来实现面向对象的开发思想。”。额的神啊,本来就不想学不敢学的,现在不得不硬着头皮学了。 这里关于对象就废话这么多了。我们都知道面向对象编程的三个主要特点是:封装、继承和多态。下面就围绕着这三个特点,记录一些学习心得。 好的,先从封装性开始介绍,众所周知,对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。Code is cheap.来看简单的代码: // 定义函数的方式定义类 function class1() { // 类成员的定义及构造函数 // 这里class1 既是一个函数也是一个类。作为函数,它可以理解为类的构造函数, 负责初始化的工作。 } // 使用new操作符获得一个类的实例 var obj = new class1(); /* 抛开类的概念,从代码的形式上来看,class1 就是一个函数,那么是不是所有的函数都可以用new来操作呢?答案是肯定的。 在JavaScript 中,函数和类就是一个概念,当new 一个函数时,就会返回一个对象。如果这个函数中没有初始化类成员,那就会返回一个空的对象。 事实上,当new一个函数时,这个函数就是所代表类的构造函数,其中的所有代码都可以看作为了初始化一个对象而工作。用于表示类的函数也称之为构造器。 在JavaScript 中,每个对象可以看作是多个属性(方法)的集合 */ function test() { alert( typeof (obj)); } 上面的代码定义了一个类class1,这就是js中简单的封装,下面我们看js如何定义“静态类”, function class1() { // 构造函数 } // 静态属性 class1.staticProperty = " test " ; // 静态方法 class1.staticMethod = function () { alert(class1.staticProperty); } function test() { // 调用静态方法 class1.staticMethod(); alert( typeof (class1)); } 接着看“抽象类”: /* 在传统面向对象语言中,抽象类中的虚方法必须先被声明,但可以在其他方法中被调用。 而在JavaScript 中,虚方法就可以看 该类中没有定义的方法,但已经通过this 指针使用了。 和传统面向对象不同的是,这里虚方法不需经过声明,而直接使用了。这些方法将在派生类 中实现 */ // 定义extend 方法 Object.extend = function (destination, source) { for (property in source) { destination[property] = source[property]; } return destination; } Object.prototype.extend = function (object) { return Object.extend.apply( this , [ this , object]); } // 定义一个抽象基类base,无构造函数 function base() { } base.prototype = { initialize: function () { this .oninit(); // 调用了一个虚方法 } } // 定义class1 function class1() { // 构造函数 } // 让class1继承于base 并实现其中的oninit方法 class1.prototype = ( new base()).extend({ oninit: function () { // 实现抽象基类中的oninit 虚方法 // oninit 函数的实现 } }); 我们看到,上面“让class1继承于base 并实现其中的oninit方法时”,使用了“继承”的概念,请留意。再来看一下执行的效果: function test() { var obj = new class1(); obj.oninit = function () { alert( " test " ); } obj.oninit(); }

推荐整理分享javascript 面向对象编程基础:封装(javascript面向对象编程),希望有所帮助,仅作参考,欢迎阅读内容。

javascript 面向对象编程基础:封装(javascript面向对象编程)

文章相关热门搜索词:javascript面向对象 第三方类库,javascript面向对象精要pdf下载,javascript面向对象吗,javascript面向对象编程指南 pdf,javascript面向对象编程,javascript面向对象编程指南,javascript面向对象精要pdf,javascript面向对象编程指南,内容如对您有帮助,希望把文章链接给更多的朋友!

javascript 面向对象编程基础:继承 我们看到这里继承的概念是多么的直白,拷贝一个类的prototype到另外一个类,好,Codeischeap,看代码:functionclass1(){}functionclass2(){}class2.prototype=class1.protot

javascript 面向对象编程基础 多态 Javascript已经可以模拟出面向对象的封装和继承特性,但是不幸的是Javascript对多态特性的支持非常弱!其它面向对象语言的多态一般都由方法重载和虚方

一个简单的javascript类定义例子 script//定义一个javascript类functionJsClass(privateParam/**/,publicParam){//构造函数varpriMember=privateParam;//私有变量this.pubMember=publicParam;//公共变量//定义私有方法functi

标签: javascript面向对象编程

本文链接地址:https://www.jiuchutong.com/biancheng/386488.html 转载请保留说明!

上一篇:JS 面向对象的5钟写法(js中面向对象编程)

下一篇:javascript 面向对象编程基础:继承(javascript面向对象 第三方类库)

  • 个体工商户税收优惠政策2023年
  • 什么合同属于有效合同
  • 固定资产变卖怎么开票
  • 工资记借方还是贷方
  • 支付给外包公司的工资备注怎么写
  • 税款差0.01是怎么用会计分录处理
  • 福利企业发放职工集资利息是不是要交个人所得税
  • 公司评级有什么用
  • 没有对公账户的公司怎么注销
  • 2021年个人开发票税率
  • 私营企业所得税是多少
  • 资产负债表日是什么意思
  • 购入商品怎么做会计分录
  • 建帐选择什么会计制度和会计准则之后能修改吗
  • 办公室电话费
  • 软件开发增值税即征即退2022
  • 路由器管家怎么登录
  • 变动成本法和完全成本法利润差异
  • 中途建账科目余额表怎么建
  • 免税收入要减去吗
  • 外包公司代缴的税怎么算
  • 企业所得税可以税前扣除的
  • 企业收缩案例
  • 企业所得税怎么做帐
  • deepin安装windows字体
  • 商业承兑汇票提示承兑期限
  • PHP:pg_lo_read()的用法_PostgreSQL函数
  • 收到公司投资属于什么会计科目
  • 开出发票单位收到款项如何平账?
  • 水养绿萝怎么养护长得才茂盛
  • PHP:imagepsfreefont()的用法_GD库图像处理函数
  • 常见造成账目差异的原因
  • 员工交通补贴需要发票吗
  • 在建工程账务处理管理制度
  • node js 安装
  • 转让企业要交什么税
  • 头歌实践教学平台官网
  • 公司注册认缴的期限一般是多少
  • 图像识别算法
  • 【历史上的今天】4 月 7 日:IBM System/360 问世;以太网的发明者诞生;第一个 RFC 文档发布
  • php读取文件内容的方法和函数
  • Python怎么把数据倒着输出
  • 申报个税是不是就必须交社保
  • 研发费用没有发票怎么做账
  • c标准库pdf下载
  • 企业所得税算法例题解析
  • python time.ctime()如何做时间加减法
  • 增值税纳税申报类型怎么填
  • 资产减值损失如何计算
  • 印花税的缴纳
  • mongodb重置密码
  • 红字发票冲销的申请表是税务局开吗
  • 公司为职工提供免费午餐需要交纳个人所得税吗?
  • 建筑业异地预交税款怎么入库
  • 主营业务成本如何设置明细
  • 库存商品盘点制度
  • 已认证抵扣的发票如何红字信息表
  • 产权交易所交易流程
  • 一般纳税人废品行业有哪些
  • 企业的期间费用包括制造费用吗
  • 白条入账会受到监管吗
  • 零售商品销售的具体核算步骤
  • mysql多字段数据
  • Ubuntu安装搜狗输入法
  • ubuntu操作系统入门
  • centos8终端
  • VirtualBox安装64位系统报错的处理方法
  • win10文件夹右上角搜索不能用
  • 学习笔记一
  • yarn和npm一起使用冲突
  • cocos2dx4.0教程
  • js如何引用
  • js有多重模块定义方式
  • javascript的主要用途
  • python flask 路由
  • js延时加载方式
  • 企业年报通怎么注销
  • 政府收储土地需要缴纳什么税
  • 烟叶税的意义和感悟
  • 耐心服务的名言警句
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设