基本概念 对象: 面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体,每个对象都是由数据和操作代码两部分构成的. 类: 面向对象程序设计中,类是具有相同的数据和相同的操作的一组对象的集合,是对具有相同数据结构和相同操作的一类对象的描述.C++中类中数据称为数据成员,类中的操作是由函数实现的,这些函数被称为成员函数. 类与对象之间的关系是抽象与具体的关系.类是多个对象进行综合抽象的结果,一个对象是类的一个实例. 消息与方法: 面向对象程序设计中,对象之间的…
多态性 编译时的多态性与运行时的多态性 在面向对象方法中,所谓多态性就是不同对象收到相同信息时,产生不同的行为.在c++程序设计中,即"一个接口,多种方法" 在C++中,多态性的实现和联编这一概念相关,一个源程序经过编译.连接,称为可执行文件的过程即为把可执行代码联编在一起的过程.其中在运行前完成的称为静态联编,又称前期联编,而在运行时完成的称为动态联编,也称后期联编 静态联编支持的多态性称为编译时多态性,也称静态多态性,在c++中通过函数重载和模板实现,动态联编所支持的多态性称为运行…
模板与异常处理 模板的概念 模板是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型作为参数. 模板分为函数模板和类模板,它们分别允许用户构造模板类和模板函数 函数模板与模板函数 函数模板实际上建立一个通用函数,其函数返回类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板. 在调用函数时系统会根据实参的类型(模板实参)来取代模板中的虚拟类型从而实现了不同函数的功能. 声明格式如下 template<typename 类型参数> 返回类型 函数名 (模板形参表)…
派生类与继承 概念 继承允许编程者在已有类的基础上创建新的类,可以从一个或者多个已有类中继承函数和数据,并重新定义或者添加新的函数和数据,已有类称为基类或父类,新类称为派生类和子类. 声明 声明一个派生类的一般格式为: class 派生类名 : [继承方式] 基类名 { 派生类新增的数据成员和成员函数 }; 继承方式种类有 private, public ,protected ,分别为私有.公有和保护继承 若不显式地给出关键字,则默认为私有 构成 构造一个派生类包括三部分公作: 1)派生类从基类…
类与对象(2) string类 C++不仅向下兼容C的字符表示方法,也声明了一种更方便的字符串类型,即string类. 想要使用string类,必须包括头文件string,即要声明 #include<string> string的声明方法与其他自定义的对象一样,也需要先定义后使用 string类增加了许多的运算符具体可见 标准C++中的string类的用法总结 向函数传递对象 使用对象作为函数参数:该方法与正常使用函数传递参数的方法一致,在函数中对对象的修改不影响对象本身. 使用对象指针作为函…
类与对象(1) 结构体与类 结构体的扩充 C++对结构体进行了扩充,它不仅可以含有不同类型的数据,还可以含有函数,结构体的函数可以像访问结构体中的数据一样进行访问. 类的声明 声明类的方法与声明结构体的方法相似,它是一种用户定义的抽象的数据类型.类是对象的抽象,而对象是类的实例. C++为了保护类中数据的安全,将类中的成员分为两类,私有成员(private)和公有成员(public).私有成员只能被类内的成员函数访问,不能被类外的对象访问,公有成员既能被类内的成员函数访问,也能被类外的对象访问.…
C++在非面向对象方面的扩充 C++向下兼容C语言,因此C语言中的语法在C++中依然成立 输入输出 C++添加了标准输入流对象cin和标准输出流对象cout来进行输入输出, 例: #include<iostream> using namespace std; int main() { int a; cin>>a; cout<<a<<endl; // endl 等价于 '\n' } 灵活的局部变量声明 C++允许变量声明与可执行语句在程序中交替出现 结构.联合…
20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后没有及时反省,补充数据结构知识,抓紧时间掌握第九章内容,反其道而行现在要在没掌握第九章的情况下写自习第十章.第十一章的内容,简直误人子弟,一派胡言.我认罪,我有错.我深知即使点头如捣蒜,诚惶诚恐也于事无补,拿出干货才是硬道理.我会在下周二之前拿出对第九章内容理解博客.在写本周博客之前我拜访了一些数据结构学的好…
时间:2015-6-2 23:04 程序员,程序猿,程序媛,码农 -------------------------------------------------------   --Java的应用领域    J2SE    主要用来开发桌面应用软件.    J2ME   嵌入式开发,例如手机里的软件,掌上电脑软件等等.     J2EE    属于网络编程,例如JSP等等,做网站用.--参考资料    张孝祥    <Java就业培训>     林信良    <Java学习笔记>…
面向对象程序设计1.属性类型.定义多属性.读取属性特性对象的属性在创建时都带有一些特征值,JavaScript通过这些特征值来定义它们的行为.这些特性是为了实现JavaScript引擎用的,因此不能直接访问它们.ECMAScript中有两种属性:数据属性和访问器属性.1)数据属性数据属性包含一个数据值的位置,在这个位置可以读取和写入值.数据属性有4个描述其行为的特征.1.[[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访…
相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语言中的一个最为人津津乐道的概念. 许多OO语言都支持两种继承方式:接口继承和实现继承. 接口继承只继承方法签名,而实现继承则继承实际的方法. 如其所述,由于函数没有签名,在ECMAScript中无法实现接口继承. ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的. 原型链…
工厂模式 虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码.为解决这个问题,人们开始使用 工厂模式的一种变体. function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o; } var…
Object构造函数或对象字面量都可以用来创建对象,但这些方式有个明显的缺点:使用相同一个接口创建很多对象,会产生大量重复代码. 工厂模式 //工厂模式 function createDog (name,age) { var o = new Object(); o.name = name; o.age = age; o.sayAge = function () { alert(age); }; return o; } var dog1 = createDog("Bob","1…
ECMAScript中描述了原型链的概念,原型链是实现继承的主要方法. 实现原型链继承有一种基本模式 function SuperType () { this.property = true; } SuperType.prototype.getSuperValue = function () { return this.property; }; function SubType () { this.subproperty = false; } //继承SuperType SubType.prot…
在调用构造函数时会为实例添加一个指向最初原型的指针,我们可以随时为原型添加属性和方法,并且能在实例中体现出来,但如果是重新了原型对象,那就会切断构造函数与最初原型的联系. function Dog () { } var friend = new Dog(); Dog.prototype ={ constructor : Dog, name : "Bob", age : 11, jump : function () { alert("跳一下"); } }; frien…
1.ECMAScript没有类的概念,ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”,有点类似于散列表 2.ECMAScript 中有两种属性:数据属性和访问器属性. 数据属性: [[Configurable]]:表示能否通过 delete 删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. [[Enumerable]]:表示能否通过 for-in 循环返回属性. [[Writable]]:表示能否修改属性的值. [[Valu…
在Android的开发过程中经常会遇到Linux相关的问题,为了更彻底的了解Linux准备整点没用的,找到一本 <Linux程序设计>开始系统的学习. 期间记录下自认为重要的内容,本以为是记录下精华的部分可以单独成章,结果阅读自己的笔记时需要与书结合,否则很难理解.于是准备将笔记一次完成放出. 取名 独乐乐版 因为改版笔记仅为了自我满足.以后有时间了可能会整理 众乐乐版. 链接:https://pan.baidu.com/s/1-DM0464hTHRl0r2s6yxgGw 提取码:enll…
第六章 面向对象的程序设计 1.面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.如python.ES中没有类的概念. 2.ES的对象可以想象成散列表:无非就是一组名值对,其中值可以是数据或函数.每个对象都是基于一个引用类型创建的. 3.ES对象中有两种属性:数据属性和访问器属性. 4.访问器属性不包含数据值,它们包含一对getter和setter函数. 5.使用Object.defineProperties()可以定义多个属性及其特性. 6.使…
今天,2017.3.17开始利用课余时间仔细学习<JavaScript高级程序设计>,将需要掌握的知识点记录下来,争取把书里的所有代码敲一遍并掌握. 1.标识符命名最好是第一个字母小写,剩下每个单词的首字母大写,如:firstSecond.myCar 2.var定义的变量是作用域里的局部变量,若在函数中定义,函数退出后就会被销毁 function test(){ var message = "hi"; } test(); alert(message);//错误 若在函数里定…
学习Windows程序设计也有一些时间了,为了记录自己的学习成果,以便以后查看,我希望自己能够坚持写下一系列的学习心得,对自己学习的内容进行总结,同时与大家交流.因为刚学习所以可能有的地方写不不正确,希望大家能够指出. 在学习了一定的Windows API后我决定进入到一些基础的学习,希望能够学习一些原理性的知识,能够做到知其然的同时知其所以然.为了达到这个目的,这段时间我学习了一些计算机的基础知识,在这写下这篇博客,总结一下. 在早期的16位8086CPU中我们使用段与段内的偏移偏移的方式寻址…
https://www.jb51.net/article/126998.htm go标准库文档https://studygolang.com/pkgdoc 1. 如果想要再本地直接查看go官方文档,可以再终端中运行: userdeMacBook-Pro:~ user$ godoc -http=: 然后在浏览器中运行http://localhost:8000就能够查看文档了,如下图所示: 2.os.Args : Args保管了命令行参数,第一个是程序名 3.所有的go语言代码都只能放置在包中,每一…
javascript高级程序设计,当枕头书已经好久了~zz  现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 1.ECMAScript 版本规范 2.DOM 文档对象模型 3.BOM 浏览器对象模型 二.HTML中应用script 1.<script>标签 属性:async="async" / defer="defer" 异步脚本:async:立即下载脚本,对外部脚…
转自:https://blog.csdn.net/dataiyangu/article/details/87894253 new Server()初始化线程池QueuedThreadPoolexecute()方法BlockingQueue初始化ServerConnector初始化ScheduledExecutorScheduler初始化ByteBufferPoolArrayByteBufferPool结构acquirerelease例外处理总结维护ConnectionFactory取得可用CPU…
时间:2015-4-16 09:17 不求甚解,每有会意,欣然忘食.学习的过程是痛苦的 第1章    程序设计和C语言     第2章    算法--程序的灵魂   -算法的五个特点            有穷性    确定性    有零个或多个输入    有一个或多个输出    有效性   -程序的三种基本结构           顺序结构               选择结构                    if 语句                switch 语句         …
主要对老师上课的ppt的笔记整理 C++基本程序设计 1.c++的输入输出 使用cin,cout和流运算符,开头须有 #include<iostream> (1)cin语句:cin>>变量名1>>变量名2>>...>>变量名n; (2)cout语句:cout<<表达式1<<表达式2<<...<<表达式n; 注意:与scanf不同,系统把空格作为数据间的分隔符(包含字符变量),cin自动跳过输入的空白…
1  Javascript 面向对象编程 所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量.对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上. 自动含有一个constructor属性,指向它们的构造函数. Javascript还提供了一个instanceof运算符,验证原型对象与实例对象之间的关系. Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象.这个对象的所有属性和方法,都会被构造函数的实例继承.…
1.面向对象的3要素: 封装:将不需要显示的代码封装到一个方法中,只对外提供方法名,用户不需关心内部实现. 继承:子类继承父类,公用父类的代码,大大提高了代码的重用,贴近生活也符合人类的编程思想. 多态:使一样的方法具有不同的实现效果,大大简化了开发的难度.实现接口和继承父类都能实现多态. 其他术语: 接口[interface]:接口提供一套规则继承接口的子类都必须实现其中的方法,也是实现多态的一个途径. 结构[struct]:结构是一个特殊的类,但是是值类型,且里面的字段不允许初始化,类可以.…
<!--<script> // 异步请求封装 IE6即以上浏览器 // ajax(url,fnSucc,selectID,fnFaild) //url 请求地址 //fnSucc 异步请求后的内容处理函数 //fnFaild 请求失败处理函数 function ajax(url,fnSucc,fnFaild) { //1.创建Ajax对象 //非IE6 var oAjax; if(window.XMLHttpRequest)//不会报错,只会是undefined {oAjax=new X…
我们知道,在OO语言中,继承可分为接口继承和实现继承.而ECMAScript的函数没有签名,不能实现“接口继承”,只能通过原型链实现“实现继承”. 在学习了各种继承模式之后,简单总结一下各种继承模式的特点: 1.原型链继承 问题:子类实例共享超类属性.不能向超类的构造函数传递参数 2.借用构造函数 思想:子类构造函数调用超类构造函数,使用call或apply,那么在实例化子类对象时就会有不同的对象实例,解决了共享超类属性的问题 3.组合继承(原型链+借用构造函数) 问题:会两次调用父类构造函数,…
作为学习javascript的小白,为了督促自己读书,写下自己在读书时的提炼的关键点. 第一章: 1.JavaScript简史:Netscape Navigator中的JavaScript与Internet Explorer中的JScript各成一派,是两个不同的JavaScript版本.为了取得统一,以JavaScript1.1为蓝本定义了ECMA-262,一种名为ECMAScript新语言标准,作为JavaScript的基础. 2.JavaScript含义比ECMAScript定义的多,完整…