日历

September 2020
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

Reply To: 成员函数的枷锁

Home Forums 《冒号课堂》讨论区 成员函数的枷锁 Reply To: 成员函数的枷锁

#1368
Lumj
Member

可是我想操作以成员函数的方式存在并不总是令人满意的吧,比如,如果不考虑多态的问题,在写一个类的时候,有时就会选择把有些’操作’写成普通的函数

“这个操作的逻辑是使用A对象的上下文的逻辑,A对其的知情根本就没有意义”

是指,比如,有个Complex class,现在使用者希望把Complex对象存入文件,而Complex的开发者并没有直接提供这些,因为他认为Complex还需要去了解FileStream太奇怪了(Complex.ToFile(FileStream)),Complex应该只完成它的份内事,构造,计算,等等.ToFile不是带来了不必要的耦合吗?

在Complex类外写一个(不论是Complex的开发者还是使用者)ToFile不是更合理吗?(ToFile(FileStream,Complex))这样Complex和File就完全无关了(开发Complex的人完全不需要了解FileStream)

 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)