1
vivisidea 2015-10-08 18:42:54 +08:00
定义一个 ITranslate 接口, public String translate(String input)
然后写各家实现 GoogleTranslate Implements ITranslate ... |
2
FrankFang128 2015-10-08 18:45:44 +08:00 via Android
没事用啥 OOP ,用 JS 来做函数式编程吧
|
3
sensui7 2015-10-08 19:07:36 +08:00 via iPhone
起码说你要用什么语言写吧?
|
4
adrianzhang 2015-10-08 21:05:06 +08:00
用类来实现。一个类,最直观的理解就是一种服务。这种服务可以有多个服务员。套用到你的例子:
百度翻译等等是有自己的 url , key 等等东西的,这些就是类里的属性。类里的方法就是文字翻译。那还可能有语音翻译呢,以后就在类里加一个方法。 函数对应的理解是某种动作,因此用来写服务不太合适。 |
6
hujianxin OP @FrankFang128 其实我是想用 python 实现的,没有说明白。
|
8
hujianxin OP @adrianzhang 感谢提供思路。
|
9
trotyl 2015-10-08 23:04:59 +08:00
要用面向对象的话,举个栗子,比如:
class Translator: def __init__(self): pass def identify_language(self, source): pass def translate(self, source, destination_language='Chinise'): pass class BaiduTranslator(Translator): ... class YoudaoTranslator(Translator): ... 按照传统面向对象差不多就是这样用一个基类或者接口,然后可以继承为不同的子类,子类才是用来实例化的,并且有对应方法的具体实现。。 但其实 Python 因为是动态类型应该也可以直接 Duck Typing 的。。 仅供参考。。-_-# |