葵花宝典读书笔记-类

一,类的定义

类是一组相似事物的统称

“一组”  在于多个,单个事物无法成为一个类。“人”可以是一个类,但“我”就不是一个类。

“相似” 比较像,但不完全相同。奥巴马,克林顿都是人类,但他们并不是相同的一个人。

“统称” 具有概括性。奥巴马、克林顿可以统称为人、男人、动物、总统。但不会统称为奥巴马,因为奥巴马是具体的一个人。

二,如何划分类

角度决定看法。如何划分类,要看所站的角度。

你、我、猪、鱼、松树

站在生物的角度:都是一类

站在动物的角度:你、我、鱼、猪都是一类

站在哺乳动物的角度:你、我、猪都是一类

站在人类的角度:你、我是一类

因此,如何划分类,要看所处在的角度 。在一定的角度上,有相似点就是一类。

三,面向对象类

面向对象类由两部分组成:属性,方法。

属性的划分要遵从最小化原则。例如:地址,省市区路应该分别保存,而不是保存为一条,这样就具有了伸缩性。

方法的定义要遵从功能单一化原则。就是一个方法只做一件事。

原文地址:https://www.cnblogs.com/mysic/p/8448836.html

时间: 2024-10-10 17:43:09

葵花宝典读书笔记-类的相关文章

Effective Java2读书笔记-类和接口(五)

第21条:用函数对象表示策略 这一条其实也没说啥,就是策略模式.碰到这种场景时,定义一个策略接口,然后不同策略子类实现它,主类包含这个接口的引用就可以了. 第22条:优先考虑静态成员类 嵌套类是指被定义在另一个类的内部的类.嵌套类存在的目的应该只是为它的外围类提供服务.嵌套类包括四种:静态成员类.非静态成员类.匿名类和局部类.除了第一种之外,其他三种都被称为内部类. 听起来很绕,其实区分还是很简单的. 首先,如果没有放在方法内部,那就是成员类(根据具体情况决定要不要做成静态的).放在方法内部,那

Effective Java2读书笔记-类和接口(四)

第19条:接口只用于定义类型 这一条就举了一个反例,说有些接口中只包含常量.这是对接口的不良使用.要实现相同的功能,应该使用不可实例化的工具类(第4条说过). public class PhysicalConstants { private PhysicalConstants() { } // Prevents instantiation // Avogadro's number (1/mol) public static final double AVOGADROS_NUMBER = 6.02

c++读书笔记——类的定义

(一个字一个字敲键盘的!!!) 1.类定义的语法 类定义以关键字class开始,定义的语法如下: class类名{ 访问权限控制符: //类成员的声明 }:起来的部分是类定义体(body),其中主要包括访问权限说明符和类成员的声明,常用的访问权限说明符有public .private和proteced,它们限定了对成员的访问权限. 2.访问控制权限 c++语言支持的类访问控制权限有public.protected.private共3个级别,这3个成员访问说明符用于控制对类成员的访问. publi

Effective Java2读书笔记-类和接口(二)

第15条:使可变性最小化 通过一个复数类来看不可变类. public final class Complex { private final double re; private final double im; private Complex(double re, double im) { this.re = re; this.im = im; } public static Complex valueOf(double re, double im) { return new Complex(

effective java 读书笔记——类和接口

上周因为准备考试等一堆原因,没空看书,今天补上一点. 类和接口是java程序设计语言的核心,它们也是java语言的基本抽象单元,java语言提供了很多强大的基本元素,供程序员设计类和接口,这一章讲的是一些指导原则,可以设计出更加有用,健壮和灵活的类和接口. 第1条:使类和成员的可访问性最小化 首先说一个概念:模块之间只能通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况,这个概念叫做“信息隐藏”,或者“封装”.(对,这就是面向对象的中封装继承多态三大特性之一的封装) 信息隐藏之所

葵花宝典读书笔记-对象

对象就是一个具体的类,就是一个类的实现. 对象是客观存在的,世界万物皆对象.人类为了归纳,总结,而把具有相似性的对象归类到一个类中.真正存在于软件运行过程中的是对象,而不是类. 软件对象产生的过程: 现实对象->现实类->软件类->软件对象 "软件类来源于现实类,但高于现实类"这句话的意思是.软件类不一定在现实中就存在对应的现实类.大多数软件类抽象于现实类,但他们之间并非一一对应,一个现实类可能对应多个软件来.例如:ATM是一个现实中的类,转化成软件类后就有"

葵花宝典读书笔记-接口

接口,英文interface,拆开看就是inter 和 face inter 有互相的意思,其含义强调两方的交互. face 面,对应的是点和线.很形象的体现了功能的多样性.可以看作是多个功能点的集合组成的一个功能面,通过它可以与多个功能点进行交互.但是功能点有很多,哪些才是属于一个面的?接口的定义是:接口是一组相关的交互功能点定义的集合.这就解释了如何去划分哪些功能点是一个面的. 接口强调的是双方的交互,如果只有一方,那么就不是交互了,也就不存在接口. 接口的功能点只是定义,不涉及具体的实现.

葵花宝典读书笔记-面向过程

面向过程是一种以"过程"作为中心的编程思想,"过程"就是"完成一件事的步骤".面向过程是一种"机械的思想",就像流水线一样,一个阶段衔接一个阶段,环环相扣.每个阶段都有自己的输入.处理.输出的步骤.运用面向过程方法时也要设计这样一条流水线:将程序划分为不同的阶段,设计好个个阶段如何衔接,定义好每个阶段要处理的数据. "程序=算法+数据结构" 这个总结正好契合机械化的特征.计算机本质上是一台机器,其核心CPU

葵花宝典读书笔记-为什么要面向对象

面向过程和计算机如影随形,从计算机诞生之日起,面向过程一直占主导地位.C语言.操作系统.协议栈.驱动系统.都是面向过程的代表. 为什么会有面向对象诞生并流行呢?面向过程是可以看作是流水线,那么流水线有个缺点:流水和原料是相对固定的,扩展起来很麻烦.比如啤酒生产线,操作的原来是啤酒原料,生产的步骤是生产啤酒的步骤,如果现在要生产醋,那么就得修改流水线上的设备和生产流程,或引进一条新的流水线.前面说过,面向过程设计解决了面向机器的复杂性问题,面向对象则解决的是扩展性和可维护性问题. 工业上,对生产线