创建实例:

继承:
from demo_python_pkg.person_node import PersonNode #从person_node节点导入PersonNode类
class WriterNode(PersonNode): #定义类,继承PersonNode类
def __init__(self,name:str,age:int,book:str) -> None: #定义方法(返回值是None)
self.book = book
super().__init__(name,age) #调用父类的构造方法
print(f"我是{self.name},{self.age}岁,我写了一本书,书名叫{self.book}")
def main():
node = WriterNode("zhangsan",18,"Python从入门到放弃")
node.eat("红烧肉") #调用父类的方法特别的,对于节点,需要从 Node 中继承属性
import rclpy #导入rclpy模块
from rclpy.node import Node #从rclpy.node模块导入Node类
class PersonNode(Node): #定义类,PersonNode继承Node
def __init__(self,node_name:str,name:str,age:int) -> None: #定义方法(返回值是None)
super().__init__(node_name) #节点名为PersonNode传入的第一个参数
self.name = name
self.age = age
def eat(self,food_name:str ): #定义方法
print (f"{self.name},{self.age}岁,爱吃{food_name}")
self.get_logger().info(f"{self.name},{self.age}岁,爱吃{food_name}")
def main():
rclpy.init() #3个rclpy是ros2 节点的基本格式
node = PersonNode("章三","张三",18)
node.eat('鱼香肉丝')
rclpy.spin(node)
rclpy.shutdown()