[软件构造]Mutable类型与Immutable类型 1.前言 在软件构造这门课中,对mutable类型和immutable类型的深入理解,有助于后续ADT.可维护性.可复用性的学习,因此我们有必要对其进行详细的分析说明. 我们首先明确的是,mutable类型和immutable类型均属于ADT的范围,二者关系如下图: 2.概念 immutable类:类的实例创建后成员变量值不变,若修改后,引用会指向一个实例对象. mutable类:类的实例创建后可以通过类的方法就地修改值. 3.常见immu…
apache软件同一版本有两种类型:no_ssl和openssl: openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了. 一般情况下,我们下载no_ssl版本的就ok了.…
用户在使用中,可能会用到基于函数的索引,但是函数是非 immutable 类型的,导致函数索引无法创建.如: test=# create index ind_t1 on t1(to_char(create_date,'yyyy-mm')); ERROR: functions in index expression must be marked IMMUTABLE 这里我们先看下函数的类型: test=# \df+ to_char List of functions Schema | Name |…
本文内容来自MIT_6.031_sp18: Software Construction课程的Readings部分,采用CC BY-SA 4.0协议. 由于我们学校(哈工大)大二软件构造课程的大部分素材取自此,也是推荐的阅读材料之一,于是打算做一些翻译工作,自己学习的同时也能帮到一些懒得看英文的朋友.另外,该课程的阅读资料中有许多练习题,但是没有标准答案,所给出的答案均为译者所写,有错误的地方还请指出. 译者:李秋豪 江家伟 审校:李秋豪 V1.0 Fri Mar 2 16:48:58 CST 2…
枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some numeric constants with names. Enumeration is defined by the enum keyword. enum Direction { Up = 1, Down, Left, Right } 枚举是在运行时真正存在的一个对象,其中一个原因是因为这样可以从…
由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作  1.基本信息设置(设置签名)  命令        项目级别/仓库级别:仅在当前本地库范围内有效 git config 系统用户级别:登录当前操作系统的用户范围 git config –global ls -lA|less   查看文件内容 级别优先级:就近原则->项目级别优先于系统用户级别 1.设置用户名 git config –global user.name ‘hiter1170301015’ 2…
python的变量分为mutable(可变的)和immutable类型. mutable:dict, list immutable:int , string , float ,tuple..…
Part A: The Issues 议题 第一章 软件品质 第二章 面向对象的标准 Part B: The Road To Object Orientation 通向面向对象之路 第三章 模块性 第四章 复用性方法 第五章 走进对象技术 第六章 抽象数据类型 Part C: Object-Oriented Techniques 面向对象技术 第七章 静态结构: 类 第八章 运行时结构: 对象 第九章 内存管理 第十章 泛型 第一章 软件品质 1.1 外部和内在的因素 1.2 外部因素介绍 1.…
在大一初学C语言的时候,所解决的问题都是一些轻量级的简单问题,当时写过一个教学管理系统.这个教学管理系统的功能很简单,思想就是“流水线”:按部就班的实现所有流程.要完成整个教学管理系统,实际上就是完成一些函数,这些函数之间的逻辑组织结构就是人所认知的逻辑结构,要完成一个教学管理系统,首先要实现一些功能:比如 1.录入学生信息 2.为每个学生分配课程 3.为每个学生分配老师 4.为每个学生录入成绩 5.进行成绩的统计. 上面这个流程很直观,而且实现起来也很流畅.我们只需要将这些函数进行实现就行了.…
目录 一.实验目标概述 二.实验环境配置 1.安装编写java程序的IDE--IntelliJ IDEA 2.安装Git 3.安装Junit 4.GitHub Lab1仓库的URL地址 三.实验过程 1.Magic Squares (1)isLegalMagicSquare() (2)generateMagicSquare() (3)源代码 2.Turtle Graphics (1)Problem 1:Clone and import (2)Problem 3:Turtle graphics a…