一、什么是深拷贝&浅拷贝? 浅复制: 对于字符串类型,浅复制是对值的复制 对于对象来讲,浅复制是对对象地址的复制,并没有开辟新的栈,复制的结果是两个对象 指向 同一个地址 ,此时 修改 一个属性 的值,另一个对象 的属性也会发生变化 深复制 对于对象来讲,深复制是开辟新的栈,两个对象对应两个不同的地 ...
分类:
其他好文 时间:
2019-08-17 16:22:03
阅读次数:
93
面向对象 对象与原型对象 1.对象的分类 原生对象 内置对象 Date、Math、正则、数组等,直接使用 自定义对象 开发人员自己定义的对象,例如使用{}快速生成对象 宿主对象 依存于某一个特定的环境才会有的对象。一旦离开了特定的环境,则这些对象将不存在。 在ES6中,对象的类别得到了扩充,分为了4 ...
分类:
编程语言 时间:
2019-08-11 23:16:20
阅读次数:
120
ES5 方法总结 1.slice 2. 遍历数组 3. concat() Array.prototype.clone=function(){ ES6 方法总结 1. Object.assign() 浅复制,也可以实现数组的克隆 2. 扩展运算符 欢迎补充其他方法!!! ...
分类:
编程语言 时间:
2019-07-26 14:23:07
阅读次数:
101
一、原型模式 原型模式就是从一个对象再创建另一个可定制的对象,而且不需要知道任何创建的细节。 二、基本的原型模式 这里模拟简历的创建与复制来说明原型模式的应用。 输出结果: 三、原型模式中的浅复制与深复制 上面的Resume类通过实现Cloneable接口才能使用clone方法,进行对象的克隆。 J ...
分类:
其他好文 时间:
2019-07-10 11:10:10
阅读次数:
81
浅拷贝 浅拷贝:被拷贝对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 比如举个例子,一个类A中有另外一个类B类型的变量。在A重写clone函数调用super.clone的时候,创建的新对象和原来对... ...
分类:
编程语言 时间:
2019-07-02 19:23:36
阅读次数:
134
三大支柱:封装、继承、多态 例子:工资结算系统。 """ 月薪结算系统 - 部门经理每月15000 程序员每小时200 销售员1800底薪加销售额5%提成 """ from abc import ABCMeta, abstractmethod class Employee(metaclass=ABC ...
分类:
编程语言 时间:
2019-06-28 18:15:05
阅读次数:
185
#include <iostream> using namespace std; class CDemo {public: CDemo(int pa,char *cstr) { this->a = pa; this->str = new char[104]; strcpy(this->str,cst ...
分类:
其他好文 时间:
2019-06-05 09:35:41
阅读次数:
79
一、浅复制和深复制概念 浅复制(浅克隆): 被复制对象的所有变量都含有与原来对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不是复制它所引用的对象。 深复制(深克隆): 被复制对象的所有变量都含有与原来对象相同的值,除去那些引用其他对象的变量。那些引用 ...
分类:
其他好文 时间:
2019-05-12 15:30:30
阅读次数:
162
原作地址:https://www.cnblogs.com/xueli/p/4952063.html 在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有三种方法, alist=[1,2,3,[" ...
分类:
编程语言 时间:
2019-04-15 20:11:25
阅读次数:
183
课程内容: 1.list 和 tuple 的运用 list list(列表)是Python内置的一种数据类型,list是一种有序的集合,而且可以对其中的元素进行增加、删除等一系列操作。 那么,这里定义一个list,来存放同学的名字: 变量 students 就是一个list,可以通过下标访问列表中的 ...
分类:
编程语言 时间:
2019-03-22 17:06:13
阅读次数:
182