jsoo day02 — 封装和继承

2024-04-07 15:58
文章标签 封装 继承 day02 jsoo

本文主要是介绍jsoo day02 — 封装和继承,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、为什么要封装?

        1、使用更加便捷(组件形式)

        2、给用户实现,但是不想修改

二、封装的作用

        1、实现功能

        2、把死的变成活的(把具体的值写成参数)

        3、独立的功能,可以单独提取成一个方法(高内聚)

        4、 让用户更方便(包容性更强,method支持大小写,参数可以写成字符串,也可以写对象)

        5、可以扩展性(支持用户的个性使用)

封装:

        1、如何隐藏内部的实现?

                用函数包起来,函数自执行

(function(){})()

        2、暴露接口

                方法1:通过window对象公开变量或者方法

                方法2:通过return返回数据

封装组件:

        1、隐藏内部实现

        2、提供给用户使用(暴露接口)

        3、提供用户扩展方法(扩展性)

jquery($.extend;$.fn.extend:原型上扩展)

三、继承

1、call的继承

        语法:

要继承的对象.call(this,参数列表)Person.call(this,no,name,age,sex)

2、apply的继承

        语法:

要继承的对象.apply(this,[数组参数])

call与apply的区别:

        不同点:主要是参数传递的方式不同

        相同点:

                1)、产生的效果或作用完全相同

                2)、至少有一个参数

                3)、第一个参数必须有且只有一个对象(Object)

使用场景:

        什么时候使用call:参数个数较少,且参数个数确定

        什么时候使用apply:参数个数较多,且参数个数不确定

3、原型继承

4、for...in

四、补充:对象属性描述器

        属性描述对象提供6个元属性

1、value

        value是该属性的属性值,默认为undefined。

2、writable

        writable是一个布尔值,表示属性值(value)是否可改变(即是否可写),默认为true。

3、enumerable

        enumerable是一个布尔值,表示该属性是否可遍历,默认为true。如果设为false,会使得某些操作(比如for...in循环、Object.keys())跳过该属性。

4、configurable

        configurable是一个布尔值,表示可配置性,默认为true。如果设为false,将阻止某些操作改写该属性,比如无法删除该属性,也不得改变该属性的属性描述对象(value属性除外)。也就是说,configurable属性控制了属性描述对象的可写性。

5、get

        get是一个函数,表示该属性的取值函数(getter),默认为undefined。

6、set

        set是一个函数,表示该属性的存值函数(setter),默认为undefined。

这篇关于jsoo day02 — 封装和继承的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/883033

相关文章

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

哈希表的封装和位图

文章目录 2 封装2.1 基础框架2.2 迭代器(1)2.3 迭代器(2) 3. 位图3.1 问题引入3.2 左移和右移?3.3 位图的实现3.4 位图的题目3.5 位图的应用 2 封装 2.1 基础框架 文章 有了前面map和set封装的经验,容易写出下面的代码 // UnorderedSet.h#pragma once#include "HashTable.h"

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序

Java封装构造方法

private/public的分装 被public修饰的成员变量或者是成员方法,可以被类的调用对象直接使用 而private修饰的成员变量和方法,不能被类的调用对象使用 例如: 可以看到我们是不能在main方法中直接调用被private修饰的变量 当然我们可以在我们定义的TestMode类中可以定一个方法show,然后在调用show方法实现 这里我们可以清楚了解 private 不光可以修

C++数据结构重要知识点(5)(哈希表、unordered_map和unordered_set封装)

1.哈希思想和哈希表 (1)哈希思想和哈希表的区别 哈希(散列、hash)是一种映射思想,本质上是值和值建立映射关系,key-value就使用了这种思想。哈希表(散列表,数据结构),主要功能是值和存储位置建立映射关系,它通过key-value模型中的key来定位数组的下标,将value存进该位置。 哈希思想和哈希表数据结构这两个概念要分清,哈希是哈希表的核心思想。 (2)unordered

OOP三个基本特征:封装、继承、多态

OOP三个基本特征:封装、继承、多态 C++编程之—面向对象的三个基本特征 默认分类 2008-06-28 21:17:04 阅读12 评论1字号:大中小     面向对象的三个基本特征是:封装、继承、多态。     封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。   封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供

javaweb-day02-2(XML 解析 - Jaxp的sax方式解析)

Jaxp解析开发包 Sax解析方式只能做查询: Sax解析方式和DOM解析方式的区别:     在使用 DOM 解析 XML 文档时,需要读取整个 XML文档,在内存中构架代表整个DOM 树的Doucment对象,从而再对XML文档进行操作。此种情况下,如果XML 文档特别大,就会消耗计算机的大量内存,并且容易导致内存溢出。  SAX解析允许在读取文档的时候,即对文档进行处