一:什么是封装?

封装的定义:就是对象内部的变化对外界是透明的,不可见的。

封装的场景:

在写项目的过程中,有时候不同页面,会有相同的功能,我们还需要每个页面都写一遍吗?额,,,,其实也可以写的,只不过不嫌累 就i行,皮一下下~~

例如:人员库项目中,部门管理中部门主管的模糊搜索,和新增部门的模糊搜索两个地方相同的功能,我们可不可以将模糊搜索的方法进行封装呢,然后,在不同页面点击触发的时候调用呢?这样我们是不是 就不必要 写大量重复的代码了,也会让我们的代码更加清晰。

// 部门主管的模糊搜索
remoteMethod(val) {
this.query.keyWord = val;
this.$store.dispatch('department/querySupervisorid', this.query)
},

封装的好处:使用封装,可以达到代码的复用,使代码更加简洁,不会重复写很多的代码。

二:什么是继承

继承的定义:我们想要一个对象能够访问另一个对象的属性,同时,这个对象还能够添加自己新的属性或者覆盖可访问的另一个对象的属性,我们实现这个目标的方式叫做“继承”。

实现继承的方式:

function Foo(x, y) {
this.x = x
this.y = y
}
Foo.prototype.sayX = function() {
console.log(this.x)
}
Foo.prototype.sayY = function() {
console.log(this.y)
} function Bar(z) {
this.z = z
this.x =
}
Bar.prototype = Object.create(Foo.prototype) // 注意这里,该方法时在FOO的原型上创建Bar的原型属性的空对象
Bar.prototype.sayZ = function() {
console.log(this.z)
}
Bar.prototype.constructor = Bar var o = new Bar()
o.sayX() //
o.sayZ() //

这种继承方式被称为“构造函数继承”。

三:什么是多态

多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。本质上就是将”做什么“和”谁去做以及怎么做“分开,就是消除不同对象的耦合关系。

重载:方法名相同,参数不同,表示不同的方法

init() {
this.test(, )
this.test()
},
test(num1, num2) {
if(arguments.length===) {
console.log('', num1, num2)
} else {
console.log('', num1)
}
},

重写:方法名相同,后者覆盖前者

test1() {
console.log('重写1')
},
test1() {
console.log('重写2')
},

打印结果是: 重写2

js 面向对象的三大特性:封装,继承、多态的更多相关文章

  1. Java三大特性(封装,继承,多态)

    Java中有三大特性,分别是封装继承多态,其理念十分抽象,并且是层层深入式的. 一.封装 概念:封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据 ...

  2. C++三大特性 封装 继承 多态

    C++ 三大特性 封装,继承,多态 封装 定义:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员,目的在于将对 ...

  3. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  4. python基础学习Day17 面向对象的三大特性之继承、类与对象名称空间小试

    一.课前回顾 类:具有相同属性和方法的一类事物 实例化:类名() 过程: 开辟了一块内存空间 执行init方法 封装属性 自动的把self返回给实例化对象的地方 对象:实例 一个实实在在存在的实体 组 ...

  5. Python - 面向对象编程 - 三大特性之继承

    继承 继承也是面向对象编程三大特性之一 继承是类与类的一种关系 定义一个新的 class 时,可以从某个现有的 class 继承 新的 class 类就叫子类(Subclass) 被继承的类一般称为父 ...

  6. Java学习笔记二十一:Java面向对象的三大特性之继承

    Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方 ...

  7. OOP三大核心封装继承多态

    OOP支柱 3 个核心:封装 继承 多态 封装就是将实现细节隐藏起来,也起到了数据保护的作用. 继承就是基于已有类来创建新类可以继承基类的核心功能. 在继承中 另外一种代码重用是:包含/委托,这种重用 ...

  8. JAVA的三大特征 封装继承多态- 简单总结

    简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对 ...

  9. js面向对象的三大特性

    0x00:使用OOP技术,常常要使用许多的代码模块,每个模块都提供特定的功能,每个模块老师孤立的,甚至与其它的模块完全独立,这种模块化的编程方法大大的提供了代码实现的多样性,大大增加了代码的重用性.j ...

  10. Java 面向对象的三大特性之一 继承

    继承: Java是继承的三大特性之一,是Java中实现代码重用的手段之一 将重复的代码抽取到父类中继承的有点或者现实 优点: 方便修改代码 减少代码量 Java中继承的语法: 修饰符 SubClass ...

随机推荐

  1. ubuntu 18.04 配置远程ssh/远程ftp/远程vnc登陆

    18.04相比过去采用了新的桌面,配置环境稍微有一些不同了. 首先是远程登录,windows用Tera Trem连接,ip地址得自己根据实际情况来. ubuntu上,sudo apt-get inst ...

  2. 记一次被吊打的排位赛(writeup)

    XMAN通行证 给了一串疑似base64的东西: a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg== 解密后得到: kanbbrgghjl{zb____}vtlaln 想到应该是 ...

  3. .net mvc的“从客户端中检测到有潜在危险的 Request.Form 值”问题解决

    第一种解决方案 : 在控制器调用的方法上添加[ValidateInput(false)] 第二种解决方案 : 在对应的asp.net web页面上加上ValidateRequest="fal ...

  4. 2小程序canvas使用,及一些坑,以及自己的一些小总结

    自己做了一个小程序,主要用于给头像加图标的那种,和qq似的,主要用canvas做的, 第一回用,掉了很多坑,所以今天总结一下自己所做的,如果大家有不理解的地方,欢迎提问:如果帮到大家的话,帮忙点个啥的 ...

  5. vertx的HttpServer模块

    Start HttpServer /** * 启动 HttpServer * multi instances 采用 synchronized防止线程安全问题 * addHandlers 方法是acto ...

  6. DataTable插件通过js导出Excel

    $('#myTab').DataTable( { serverSide: false,//分页,取数据等等的都放到服务端去. true为后台分页,每次点击分页时会请求后台数据,false为前台分页 d ...

  7. angular2 图片赋值的时候前面自动加 unsafe:xxx 导致图片信息不显示问题

    需要创建一个pipe 代码如下 import { Pipe, PipeTransform } from '@angular/core'; import {DomSanitizer} from '@an ...

  8. CentOS7像外部163邮箱发送邮件

    我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5 ...

  9. 【JavaScript】$.extend使用心得及源码研究

    最近写多了js的面向对象编程,用$.extend写继承写得很顺手.但是在使用过程中发现有几个问题. 1.深拷贝 $.extend默认是浅拷贝,这意味着在继承复杂对象时,对象中内嵌的对象无法被拷贝到. ...

  10. RESTful-5开发API

    RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 它的大原则容易把握,但是细节不容易做对.本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API. ...