我正在寫一個擴展TCPSocket
的Ruby類。假設它看起來是這樣的:Ruby Socket繼承
class FooSocket < TCPSocket
def hello
puts 'hello'
end
end
我有一個TCPServer
偵聽傳入連接
server = TCPServer.new 1234
socket = server.accept
當我的服務器終於接受連接,它會返回一個TCPSocket
。不過,我想要一個FooSocket
,以便我可以撥打socket.hello
。
如何將TCPSocket
更改爲FooSocket
?
我可以將我想要的方法和屬性直接打到TCPSocket
類上,但我在其他地方使用它,所以我不想這樣做。
也許最簡單的解決方法是編寫一個封裝TCPSocket
的類,並將accept
返回的套接字作爲參數傳遞。然而,我很想知道如何通過繼承來實現它 - 我一直在試圖繞過它,但無法弄清楚。
在此先感謝。