构造函数

Android开发——Intent

醉酒当歌 提交于 2020-02-27 23:53:14
一、什么是Intent? Intent的中文意思是目的。在Android中也是“目的”的意思。就是我们要去哪里,从这个activity要前往另一个Activity就需要用到Intent。 示例代码一: 1: //定义一个Intent 2: Intent intent = new Intent(IntentDemo.this, AnotherActivity2.class); 3: //启动Activity 4: startActivity(intent); 以上示例代码的作用是从IntentDemo这个activity切换到AnotherActivity2。这是Intent其中一种构造方法,指定两个Activity。为什么需要指定两个活动呢?因为在Android中有一个活动栈,这样的构造方式才能确保正确的将前一个活动压入栈中,才能在触发返回键的时候活动能够正确出栈。 注意:所有的Activity都必须先在AndroidManifest.xml里面配置声明。一下为本文用到的程序配置文件 1: <?xml version="1.0" encoding="utf-8"?> 2: <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3: package="com.halzhang.android

C++中的类

断了今生、忘了曾经 提交于 2020-02-27 23:53:05
文章目录 private问题 案例分析 用法点拨 protected问题 案例分析 继承中的特点 1.public 继承 2.protected 继承 3.private 继承 类的构造函数 带参数的构造函数 实例讲解 使用初始化列表来初始化字段 代码实战 private问题 案例分析 class Box { public : double length ; // 长度 double breadth ; // 宽度 double height ; // 高度 double getVolume ( void ) { return length * breadth * height ; } private : double length ; } ; 注意:当把length声明成private时,在主函数中 int main ( ) { Box Box1 ; // 声明 Box1,类型为 Box double volume = 0.0 ; // 用于存储体积 Box1 . breadth = 1 ; Box1 . height = 1 ; Box1 . length = 1 ; //Error: 因为 length 是私有的 // box 1 的体积 volume = Box1 . getVolume ( ) ; cout << "Box1 的体积:" << volume << endl

C#设计模式(1)——单例模式

有些话、适合烂在心里 提交于 2020-02-27 23:02:31
一、引言 最近在设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二同时可以给一些初学设计模式的朋友一些参考。首先我介绍的是设计模式中比较简单的一个模式——单例模式(因为这里只牵涉到一个类) 二、单例模式的介绍 说到单例模式,大家第一反应应该就是——什么是单例模式?,从“单例”字面意思上理解为——一个类只有一个实例,所以单例模式也就是 保证一个类只有一个实例的一种实现方法罢了(设计模式其实就是帮助我们解决实际开发过程中的方法, 该方法是为了降低对象之间的耦合度,然而解决方法有很多种,所以前人就总结了一些常用的解决方法为书籍,从而把这本书就称为设计模式) ,下面给出单例模式的一个官方定义: 确保一个类只有一个实例,并提供一个全局访问点。 为了帮助大家更好地理解单例模式,大家可以结合下面的类图来进行理解,以及后面也会剖析单例模式的实现思路: 三、为什么会有单例模式 看完单例模式的介绍,自然大家都会有这样一个疑问——为什么要有单例模式的?它在什么情况下使用的?从单例模式的定义中我们可以看出——单例模式的使用自然是当我们的系统中某个对象只需要一个实例的情况,例如:操作系统中只能有一个任务管理器,操作文件时,同一时间内只允许一个实例对其操作等

JavaScript函数之美~

半腔热情 提交于 2020-02-27 12:31:41
JavaScript函数之美~   这篇文章,我将就以下几个方面来认识JavaScript中的函数。 函数为什么是对象, 如何定义函数 ? 如何理解函数可以作为值被传递 函数的内部对象、方法以及属性 第一部分:函数为什么是对象,如何定义函数    JavaScript中最有意思的恐怕是函数了,因为和其他语言不同,在JavaScript中,每个函数都是Function类型的实例,而我们知道: Object是一个基础类型,其他所有类型都是从Object继承了基本的行为 。也就是说Function也是从Object引用类型继承而来的,那么作为Function类型的实例,函数也就是对象这一点就不难理解了。   那么如何定义一个函数呢?一般来说,有四种种方式可以来定义函数。   第一:函数声明。这种语法和其他语言的形式一样,是我们最为常见的一种方式。如下: function add(num){ return num+10; }   第二:函数表达式。如下: var add=function(num){ return num+10; };   我们可以注意到函数表达式的定义函数方法把函数看作了一个表达式,因此最后要以分号;结尾,并且在function关键字之后没有标识符作为函数名,看起来好像就是常规的变量赋值语句,即创建一个函数并将它赋值给变量add,这种情况下创建的函数叫做 匿名函数

js继承

自闭症网瘾萝莉.ら 提交于 2020-02-27 12:25:36
js继承 首先,我们应该理解,什么是继承?所谓继承,通俗讲,就是从某人处得到某些东西,大部分情况下都是儿子从父亲那继承。现在网上也有一句玩笑,叫“你想笑死我,然后继承我的蚂蚁花呗吗”。 js中的继承,同样也可以理解为上述意思,即从子从父那获取属性和方法。 在这里,我们介绍一下使用构造函数继承和prototype继承 1.构造函数继承 此方法是通过使用call或者apply将子构造函数中的this指向变为父构造函数,但是其缺点是父对象中的属性和方法并没有继承。 代码实现: function Computer(name, type) { this.name = "电脑"; this.type = "电器"; } function Dell(name, type, color) { Computer.call(this,name,type); this.color = color; } var dell1 = new Dell('blue'); alert(dell1.name);//=>电脑 上述代码,通过call方法使得Dell继承了Computer的name和type。在输出子构造函数Dell的构造对象的name时,结果为“电脑”。 2.prototype继承 此方法主要是通过构造函数的prototype属性,将父构造函数构造的对象作为子构造函数的原型

this指向 - Node环境

纵然是瞬间 提交于 2020-02-27 11:56:25
1.全局上下文中 this /* 1.全局上下文中的 this node环境下: 严格模式下: {} {} 报错 非严格模式下:{} {} {} */ 'use strict'; // 严格模式 // demo 1: console.log(this); // {} // demo 2: var a = this; console.log(a); // {} var b = 1; console.log(global.b); // undefined // demo 3: b = this; // 注意:严格模式下,变量必须得声明;非严格模式,可以省略声明符 console.log(b); // {} c = 1; console.log(global.c); // 1 /* 分析: node环境下: node环境下 的上下文组成 与 浏览器环境下 有些不同; 扩展了解一下,Node.js的全局对象 global: 定义:Node.js中的全局对象是 global, 所有全局变量(除了 global 本身以外)都是global对象的属性; 在 Node.js 中,我们可以直接访问到 global属性,而不需要在应用中包含它; 也就是说,global 是全局对象,但是它还是 global.global的属性值,这是递归的过程; 这跟浏览器下的 window对象 是一个逻辑

this指向 - 总结

大兔子大兔子 提交于 2020-02-27 11:55:51
/* 总结: this 的指向: 1.this 的指向 是在执行上下文时才确定的, 并且确定后不可更改; 2.this 指向 “其执行上下文的环境对象”; “其执行上下文的环境对象” 判读依据如下: */ /* 浏览器环境下: 严格模式下: 1.全局上下文中的 this “其执行上下文的环境对象”为,全局执行上下文的环境对象,而全局执行上下文的环境对象 为 Window对象; 2.函数上下文中的 this 情景一:apply、call、bind 指定环境对象 “其执行上下文的环境对象”为,被指定的环境对象,无论是什么,即使是 null 或者 undefined; 情景二:没有指定环境对象 ->1.作为 独立函数 执行 “其执行上下文的环境对象”为 undefined; ->2.作为 对象方法 执行 “其执行上下文的环境对象”为 这个拥有它的对象; 3.对象属性中的 this “其执行上下文的环境对象”为,全局执行上下文的环境对象 为 Window对象; 4.构造函数 和 原型方法中的 this 构造函数中: “其执行上下文的环境对象”为,以构造函数名命名的新对象; 原型方法中: “其执行上下文的环境对象”为,构造函数的原型对象; 非严格模式下: 1.全局上下文中的 this (同 严格模式) 2.函数上下文中的 this 情景一:apply、call、bind 指定环境对象 (同

解决掉你心中 js function与Function的关系的疑问

雨燕双飞 提交于 2020-02-27 08:39:47
前言 在网上有很多关于js function 与 Function直接关系的文章。 但是我感觉过于抽象化了,那么如何是具体化的解释? 正文部分为个人理解部分,如有不对望指出。 正文 <script> if((function(){}).constructor === Function) { console.log(true); } </script> 我写了一段这个代码,答案为true。 这就是function 与 Function的关系。 看下Function的定义: Function 构造函数创建一个新的 Function 对象。直接调用此构造函数可用动态创建函数,但会遭遇来自 eval 的安全问题和相对较小的性能问题。然而,与 eval 不同的是,Function 构造函数只在全局作用域中运行。 然后还给出了这样一个结论: 每个 JavaScript 函数实际上都是一个 Function 对象。 重新理解一下,Function的定义。 第一句话很好理解,就是可以创建一个Function对象。第二句好也好理解,就是会有安全漏洞和性能问题,详细部分可看eval的安全问题,至于为什么低效,官方解释是:因为使用后者创建的函数是跟其他代码一起解析的。 第三句话,什么叫"Function 构造函数只在全局作用域中运行"? var func = new Function("alert(x

子类构造、析构时调用父类的构造、析构函数顺序

不羁的心 提交于 2020-02-27 07:03:31
析构函数调用的次序是 先派生类的析构后基类的析构 ,也就是说在基类的的析构调用的时候,派生类的信息已经全部销毁了。 而 定义一个对象时先调用基类的构造函数、然后调用派生类的构造函数;析构的时候恰好相反:先调用派生类的析构函数、然后调用基类的析构函数。 原因: 派生类构造函数中的某些初始化可能是基于基类的,所以规定构造在类层次的 最根处 开始,而在 每一层,首先调用基类构造函数,然后调用成员( 此处的成员只指各种类对象如QString a,不含基本类型变量如int n、指针变量如QString *a )对象构造函数 ( 因为C++的成员变量是不会自动初始化的,只能使用初始化列表初始化(调用成员的构造函数,如果不在初始化列表中显式调用的话,则会隐式调用成员变量的默认构造函数,通过汇编可以发现)或在本层构造函数内初始化) 参考:http://www.cnblogs.com/lidabo/p/3790606.html )。 如果没有显式调用基类的构造函数,会自动调用基类的无参构造函数。而如果基类只有带参数的构造函数,则会报错。不一定要显式的无参构造函数,可以显式调用基类带参数的构造函数。 #include<iostream> using namespace std; class Base{ public: Base(int c){cout<< "基类带参构造函数" << c << endl

java 基础之异常

倖福魔咒の 提交于 2020-02-27 06:06:46
1.构造函数中的异常 在一个项目中多个方法中都用到了外部的配置文件,所以想写一个单例模式来读取一次外部配置文件,而不是每次用的时候都读一次. 代码如下: //实际本质上就是只返回一个SingletonProps 实例. public class SingletonProps { private Properties properties; private SingletonProps() throws IOException { InputStream in = this.getClass().getResourceAsStream("/System.properties"); //注意,这里不能改成参数的形式!!!,因为会初始化一次. properties = new Properties(); properties.load(in); }; //私有 //静态私有内部类 private static class SingletonHolder { private static final SingletonProps singleton_Props =new SingletonProps(); } public static final SingletonProps getInstance() { return SingletonHolder.singleton_Props;