封装
把数据和操作数据的方法放在一起,对外只暴露必要接口。 自学小工具时,我会先问:哪些字段不该被外部随便改?
public class StudyNote
{
public string Title { get; private set; }
public StudyNote(string title)
{
Title = title;
}
public void Rename(string title)
{
if (!string.IsNullOrWhiteSpace(title))
Title = title.Trim();
}
}
继承与多态
继承适合「确实是一种」的关系;多态适合「同一操作,不同实现」。 如果只是为了少写几行代码就继承,后期往往更难改。
我现在的实用原则
- 优先组合,谨慎继承
- 类名尽量表达职责,不追求一次抽象到位
- 小项目里,可读性比「看起来很 OOP」更重要