Привет, наткнулся на такую строку:
За работу с потоками в Java отвечает класс Thread. Создать новый поток для выполнения задачи — значит создать экземпляр класса Thread и связать его с нужным кодом. Сделать это можно двумя путями:
1) образовать от Thread подкласс;
2) имплементировать в своём классе интерфейс Runnable, после чего передавать экземпляры класса в конструктор Thread.
Наследование всех методов класса через подкласс соответственно выполняется так:
public class PingPongThread extends Thread{
PingPongThread(String name){
this.setName(name); // переопределяем имя потока
}
@Override
public void run() {
Ball ball = Ball.getBall();
while(ball.isInGame()){
kickBall(ball);
}
}
private void kickBall(Ball ball) {
if(!ball.getSide().equals(getName())){
ball.kick(getName());
}
}
}
Возможно ли не наследуя весь класс в самописный вызвать методы из класса Thread? Я так понимаю это и есть второй вариант, как он реализуется? Как в Python? Выполняя простой import и после в самописном классе вызывать необходимую функцию например вот так? :
import socket
class test:
def __init__(self):
print("Объект создан")
self.create_socket()
def create_socket(self):
HOST = "127.0.0.1"
PORT = "9999"
PORT = int(PORT)
# supports the context manager type
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
sock.bind((HOST, PORT)) # associate the socket with a specific network interface
print("socket created")
def main():
t_obj = test()
if __name__ == '__main__':
main()