找回密码
 立即注册
搜索
热搜: 活动 交友
楼主: Ray

面向对象程序设计复习贴

[复制链接]

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 13:17 | 显示全部楼层
指向常量的指针
指针本身可以修改(指向别处),但不能通过该指针修改所指向的值。
const char *ptr;      // 等价于 char const *ptr;


常量指针
指针的指向固定,不能再指向其他地址,但可以通过它修改指向的内容(如果内容不是 const)
char *const ptr = a;


快速记忆法
const 在 * 左边 → 指向的内容是常量(pointer to const)
const 在 * 右边 → 指针本身是常量(const pointer)
可以两边都加 const:const char *const ptr 指向和内容都不可改。

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 13:54 | 显示全部楼层
Coupling⚓︎
耦合(coupling) 是指程序中不同单元之间的连接。如果两个类在很多细节上有互相依赖的关系,那么我们认为它们是紧密耦合的。


我们的目标是松弛这种耦合关系,因为这有助于我们在不阅读其他类的情况下理解一个类,以及在不影响其他类的情况下改变一个类,从而提升了可维护性。


松弛耦合的方法有:


回调 (call-back)
消息机制 (message mech)
Cohesion⚓︎
内聚(cohesion) 指的是单个单位负责的任务数量和多样性,这一概念适用于类和方法上。如果一个单元仅对一个逻辑逻辑任务负责,那我们称这个单元具有高度的内聚性。


方法的内聚:方法(函数)应该仅为一个定义良好的任务负责
类的内聚:类应该表示为单个良好定义的实体
我们的目标是增强内聚性,因为这有助于理解类或方法的作用,使用描述性的名称以及重用类或方法。


Responsibility-Driven Design⚓︎
每个类应该为自己操纵的数据负责,所以我们希望做到改变局部化(to localize change),即一次改变仅会影响到少量类,从而降低耦合,实现责任驱动的设计。


Refactoring⚓︎
我们在维护类的时候,经常会让类和方法的代码增多,所以在维护时往往需要重构(refactor) 代码,以维护代码的内聚性和低耦合。


在重构代码时,不要让重构改变了代码的其他地方或代码的功能
重构前后需要检查代码,确保没有地方是被破坏掉的

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 23:52 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 23:53 | 显示全部楼层



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 23:54 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 23:54 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 23:55 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

44

主题

120

回帖

5354

积分

版主

积分
5354
 楼主| 发表于 昨天 23:58 | 显示全部楼层
楼主目前了解了封装、多态和继承。但是了解并不深入。
也就是将学长们的笔记看了个七成熟。


现在打开了deepseek-v4的一组对话,上传了手头上有用的笔记以及历年试卷,准备和ds对话来巩固所学知识的同时让ds分析考情并且结合题目讲述知识点。

此所谓面向考试编程(Test-Oriented Programming)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RealDevClub ( 沪ICP备2024093864号-1 )

GMT+8, 6-24-2026 02:37 , Processed in 0.068903 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表