构造函数

原型对象(上)

自闭症网瘾萝莉.ら 提交于 2020-02-04 23:48:45
一、引入 1、JS是一门脚本语言,解释型语言、弱类型语言、基于对象的语言、动态型语言 2、继承(面向对象有三个特性:封装、继承、多态 )是指类与类之间的关系,JS中没有类的概念,JS中有构造函数的概念,是可以继承的,是基于原型 3、创建对象的三种方法:字面量、系统方法构造函数、自定义构造函数 <script> //字面量 var per1={ name:"刘备", age:25, show:function(){ console.log("双股剑"); } } //系统方法构造函数创建对象 var per2=new Object; per2.name="张飞"; per2.age=23; per2.show=function(){ console.log("丈八蛇矛"); } //自定义构造函数创建对象 function Person(name,age){ this.name=name; this.age=age; this.show=function(){ console.log("青龙偃月刀"); } } var per3=new Person("关羽",24) </script> 4、工厂模式和自定义构造函数的区别 共同点:都是函数、都可以创建对象、都可以传入参数 工厂模式:函数名小写,有new,有返回值,new之后的对象是当前的对象,对象创建,直接调用函数 自定义构造函数

Activiti流程定义缓存源码分析3-activiti缓存处理类

China☆狼群 提交于 2020-02-04 23:36:15
DefaultDeploymentCache类作为默认的缓存处理类,该类的核心代码如代码清单x-所示。 代码清单x-DefaultDeploymentCache.java --------------------------------------------------------------------------------------------------------------------------- protected Map<String, T> cache;//该集合最终存储所有需要缓存的对象 public DefaultDeploymentCache() { this(-1);//调用有参构造函数传入参数默认值为-1 } public DefaultDeploymentCache(final int limit) { #-1 if (limit > 0) {//判断limit参数值 this.cache = Collections.synchronizedMap(new LinkedHashMap <String, T>(limit + 1, 0.75f, true) { #-2 protected boolean removeEldestEntry(Map.Entry<String, T> eldest) { #-3 boolean removeEldest

python编程学习进度四

这一生的挚爱 提交于 2020-02-04 23:14:15
今天自己写了 一个简单代码帮助自己理解python编程中的一些类的关系以及一些函数属性, 总结如下: 1,在python当中一切皆对象,每产生一个对象会对应三个属性:id、类型type和数值 2,创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性:而类中有两种属性:数据属性和函数属性,其中类的数据属性是共享给所有对象的,而类的函数属性是绑定到所有对象的。 3,在类的内部来说,__init__是类的函数属性,但是对于对象来说,就是绑定方法。 4,命名空间的问题:先从对象的命名空间找,随后在从类的命名空间找,随后在从父类的命名 空间找。 5,所谓初始化构造函数就是在构造对象的同时被对象自动调用,完成对事物的初始化,一个类只要生成一个类对象,它一定会调用初始化构造函数. 特点: 1>一个类中只能有一个初始化构造函数 2>不能有返回值 3>可以用它来为每个实例定制自己的特征 6,方法重写指在子类中重新定义父类中已有的方法,这中现象叫做方法的重写 举例 #!/usr/bin/python # -*- coding:utf-8 -*- class People: def __init__(self,name,age): self.name = name self.age = age self.tell() def tell(self): print("%s--

结对编程第二次作业

自古美人都是妖i 提交于 2020-02-04 20:27:49
结对编程第二次作业 小学四则运算自动生成程序 一、题目要求 本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内、百以内等) 用户选择是否有括号、是否有小数 用户选择输出方式(如输出到文件、打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) ---------- 点击查看他的代码: https://coding.net/u/mayingjiu123/p/zuoye/git?public=true 二、单元测试 由于本次编程结果算式皆为随机生成,故选择手动测试方式进行测试 加法小数: 随机符号小数: 随机符号括号小数: 三、代码分析表格 功能模块名称   C语言小词法识别程序 审查人   霍超然 审查日期   2017.4.4 代码名称   kaishi 代码作者   马英九 文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 是     头文件和定义文件的目录结构是否合理? 是   版权和版本声明是否完整? 是 重要 头文件是否使用了 ifndef/define/endif 预处理块? 是

[C++] 构造函数

雨燕双飞 提交于 2020-02-04 20:24:36
构造函数 每个类都分别定义了它的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数叫做构造函数。 构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。 构造函数的名字和类名相同。和其他函数不一样的是,构造函数没有返回类型;除此之外类似于其他的函数,构造函数也有一个(可能为空)参数列表和一个(可能为空的)函数体。 类可以包含多个构造函数,和其他重载函数差不多,不同的构造函数之间必须在参数数量或参数类型上有所区别。 构造函数不能被声明成const的。当我们创建类的一个const对象时,直到构造函数完成初始化过程,对象才能真正取得其“常量”属性。因此,构造函数在const对象的构造过程中可以向其写值。 合成的默认构造函数 类通过一个特殊的构造函数来控制默认初始化过程,这个函数叫做默认构造函数。默认构造函数无须任何实参。 如果我们的类没有显式地定义构造函数,那么编译器就会为我们隐式地定义一个默认构造函数,这个构造函数又被称为合成的默认构造函数。 这个合成的默认构造函数的初始化数据成员规则是: 1、如果存在类内的初始值,用它来初始化成员。 2、否则,默认初始化该成员 某些类不能依赖于合成的默认构造函数 对于一个普通的类来说,必须定义它自己的默认构造函数,原因有三: 1

封装.继承.多态

只愿长相守 提交于 2020-02-04 17:42:24
封装 1. 封装 :隐藏类内部细节 2. 封装 步骤 :   第一步:将属性私有化.(private)   第二步:提供getter/setter方法(getXxxx(),setXxxx()).   第三步:在getter/setter中加入控制语句. 3. this关键词   this:表示当前对象.   调用属性:this.属性名   调用方法:this.方法名();   this():表示调用构造函数. 注意 :this(),必需写在构造函数的第一行. 继承(extends) 1. 继承 :遗传 2. 语法   public class 子类 extends 父类{     //代码块   } 例:public class Dog extends Pet {     //代码块 } 3. 继承的特点   a.子类可以继承父类的非私有的属性和方法   b.不能继承构造方法   c.继承默认权限修饰符的方法和属性,子类和父类必需在同一包中 4. super(父类)   super.属性名; //表示访问父类的属性   super.方法名(参数); //表示访问父类的方法   super(参数);//表示访问父类的构造函数; 注意 :super()访问父类构造函数时,必需写在第一行; 多态 1. 多态含义 :一个事物的多种形态 2. 多态的表现   行为(方法)多态:重写和重载.

es6的基本数据详解

一笑奈何 提交于 2020-02-04 15:01:03
一、Set 基本用法: 1)ES6提供了新的数据机构-Set。 它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。 先来看一段最简单的代码: 1 2 3 var s = new Set(); [2,3,5,4,5,2,2].map(x =>s.add(x)); for(i of s){console.log(i)} 得到的结果是2 3 5 4,上面的代买通过add方法向Set结构加入成员,结构表明Set结构不会添加重复的值。 Set函数可以接受一个数组作为参数,用于初始化。 1 2 var set = new Set([1,2,3,4,4]); console.log([...set]); 结果是在控制台输出了[1,2,3,4],这两个例子都可以证明Set的成员值都是唯一的,没有重复的值。但是向Set加入值时不会发生类型转换,所以10和“10”是两个不同的值。Set内部判断两个值是否不同的算法类似于精确相等运算符(===)。这意味着,两个对象总是不相等的。唯一的例外是NaN等于自身(精确相等运算符认为NaN不等于自身)。下面看一个对象的添加例子,就能更清楚上面的话了。 1 2 3 4 let set =new Set(); set.add({}); set.add({}); console.log(set.size); /

JavaScript从原型到原型链

孤者浪人 提交于 2020-02-04 14:13:43
JavaScript从原型到原型链 构造函数创建对象 我们先使用构造函数创建一个对象: function Person() { } var person = new Person(); person.name = 'Kevin'; console.log(person.name) // Kevin 在这个例子中,Person 就是一个构造函数,我们使用 new 创建了一个实例对象 person。 prototype 每个函数都有一个 prototype 属性,prototype是函数才会有的属性,比如: function Person() { } Person.prototype.name = 'Kevin'; var person1 = new Person(); var person2 = new Person(); console.log(person1.name) // Kevin console.log(person2.name) // Kevin 那这个函数的 prototype 属性到底指向的是什么呢?是这个函数的原型吗? 函数的 prototype 属性指向了一个对象,这个对象正是调用该构造函数而创建的 实例 的原型,也就是这个例子中的 person1 和 person2 的原型。 那什么是原型呢? 每一个JavaScript对象(null除外

python子类继承父类的构造函数

假装没事ソ 提交于 2020-02-04 09:05:09
‘’‘子类继承父类’’’ ```python class Frute(object): def __init__(self,name): self.name=name def info(self): print("u'水果的名字是:{0}".format(self.name)) class Apple(Frute): def __init__(self,name,brand,color): Frute.__init__(self,name) self.brand=brand self.color=color def info(self): print("水果是{0},品牌是{1},颜色是{2}".format(self.name,self.brand,self.color)) f1=Apple("苹果","红富士","红色") f1.info() C:\Programs\Python\Python35\python.exe D:/script/myobj.py 水果是苹果,品牌是红富士,颜色是红色 Process finished with exit code 0 ```python ```python ‘’‘子类不继承父类’’’ class Frute(object): def init (self,name): self.name=name def info(self):