转自:http://blog.csdn.net/yue7603835/article/details/44282823 Go语言的面向对象编程简单而干净,通过非侵入式接口模型,否定了C/C++ Java C#等传统面向对象编程语言的复杂度的必要性,我们发现在Go中即使简单的组合也能达到传统面向对象语言的效果,而且耦合度非常低,按照Go的作者之一也就是C语言的作者之一说的一句话:Go是更好的C语言. 1.Go中任意类型Any即  interface{}类型,也就是空接口,可以赋值为任意类型 2.可…
本文收录在Python从入门到精通系列文章系列 1. 了解面对对象编程 活在当下的程序员应该都听过"面向对象编程"一词,也经常有人问能不能用一句话解释下什么是"面向对象编程",我们先来看看比较正式的说法. "把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(general…
什么是面向对象? 在软件的设计过程中的两种方式: 把程序按照算法的执行步骤来拆解,一步步实现,这是面向过程编程: 把程序按照现实世界的理解,分成不同对象,通过多个对象之间的相互作用,来完成程序的最终功能,这是面向对象编程: 面向对象的三要素:类.对象和继承 面向对象特点:封装.继承.多态 面向对象好处: 按照我们对于现实世界的理解来把程序划分为不同的对象. 容易理解为整个程序的设计思路:使用继承.封装.多态的特性,设计出高内聚.低耦合的系统结构. 容易维护现有代码. 容易拓展新增功能: 类的定义…
模板 模板是一种工具,模板可以使程序员能建立具有通用类型的函数库与类库: 模板具有两种不同的形式: 函数模板 类模板 函数模板 当一个add()函数接收两个参数,因为某种特定情况,所传入的实参数据类型不同,两个函数主体内行为处理是一样的:一个是处理int型的,另一个是处理double型的, 这种情况时,可以写出不同的形参的同名函数,构成函数重载.但这样的零散函数并不是很优雅,开发时还增加编程量: 出现这种情况时,使用函数模板来解决,即可以实现对于任何一个类型T的两个对象a,b的功能,也可以使函数…
多态 多态性是指对不同类的对象发出相同的消息将返回不同的行为,消息主要是指类的成员函数的调用,不同的行为是指不同的实现: 函数重载 函数重载是多态性的一种简单形式,它是指允许在相同的作用域内,相同的函数名对应着不同的实现: 函数重载的条件是要求函数参数的类型或个数有所不同.对成员函数的重载有以下的三种表达方式 在一个类中重载 在不同类中重载 基类的成员函数在派生类里面重载: 另外,如果是继承类中,子类与父类的成员函数同名的情况称为重定义: 当我们想要指定哪个类的成员函数需要指定是哪个类,使用格式…
运算符重载 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.重载的运算符是遵循函数重载的选择原则,根据不同类型或不同参数来选择不同的重载运算符. 运算符重载的基本语法 成员函数形式 <类名> operator<符号>(<参数表>) 参数表列出该运算符需要的操作数. 运算符函数体对重载的运算符的含义做出新的解释.这种解释仅局限在重载该运算符的类中,即当在X类对象的关联中,运算符含义由函数体解释:否则脱离类对象,该运算符具…
知识点学习 类 const作用 C语言的const限定符的含义为"一个不能改变值的变量",C++的const限定符的含义为"一个有类型描述的常量": const修饰指向的实体类型被称为常量指针,限定指针必须指向一个地址 const int * p = &a; //与上一条语句等价 int const * dp = &b; const修饰指针*cp被称为 指针常量,限定指针值不能修改: int * const cp = &b const加在函数…
一.web编程基础 1.1 web工作方式 1.2 HTTP协议详解 a.http 请求包体 GET /domains/example/ HTTP/1.1 //请求行: 请求方法 请求URI HTTP协议/协议版本 Host:www.iana.org //服务端的主机名 User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 //浏…
T-SQL查询和编程基础(1) 1.1 理论背景 SQL是为查询和管理关系型数据库管理系统(RDBMS)中的数据而专门设计的一种标准语言. RDBMS是一种基于关系模型的数据库管理系统,关系模型则是一种用于表示数据的语义模型,基于两种数学理论:集合论和谓词逻辑. 1.1.1 SQL SQL是基于关系模型的ANSI和ISO标准语言,专门设计用于查询和管理RDBMS中的数据. SQL有几种不同类型的语句,包括: 数据定义语句:用于处理数据对象的定义 (DDL,Data Definition Lang…
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments).即Linux中命令格式为: command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同. 参数是指命令的…