input: Write a function to generate a Python class for an online store item that includes fields for ID, name, price, and description. The class should include an __init__ method to initialize the item, a __str__ method to return a string representation of the item, and a to_dict method to return a dictionary representation of the item. If the given item has no specific fields, the class should be generated with default fields.
  assert StoreItem('123', 'Book', 15.99, 'A novel about adventure.')==<class '__main__.StoreItem'>
  assert StoreItem('456', 'Laptop', 999.99, 'Gaming laptop with high performance.')==<class '__main__.StoreItem'>
  assert StoreItem('789', 'Phone', 699.99, 'Smartphone with advanced features.')==<class '__main__.StoreItem'>
  assert StoreItem('012', 'Headphones', 199.99, 'Comfortable and noise-cancelling.')==<class '__main__.StoreItem'>
  assert StoreItem==<class '__main__.StoreItem'>
output: class StoreItem:
      def __init__(self, id, name, price, description):
          self.id = id
          self.name = name
          self.price = price
          self.description = description
  
      def __str__(self):
          return f"ID: {self.id}, Name: {self.name}, Price: {self.price}, Description: {self.description}"
  
      def to_dict(self):
          return {
              'id': self.id,
              'name': self.name,
              'price': self.price,
              'description': self.description
          }