I do not know how it would handle the Products
Assuming that you are modeling this to generate RDBMS tables, you would generally use 2 separate classes. The 'child' class would have the Product attributes plus the Product_Id acting as a 'foreign key'. The other class is your Order class.
The diagram in the answer of @Esther Fan - MSFT in UML-arrows-pointers-explanation shows more than what you want in fact, however, on a class level its what you want. Just replace the word "Order_Item" by the word "Product" in the class diagram and ignore the other classes not related to your case.
The MSDN link provided within that answer may also be useful for you.
An important business rule you need to consider is whether an Order occurence is meaningful without Products or not. The diagram in the link above assumes a composition association between Order and Product (Black diamond), this may or may not be your case, so please check.
It is also common to have a class for a requesting entity and a product reference entity shown but you did not ask for those. As an example, have a look at: Simple Class Diagram.
I couldn't have ProductID because that would mean that each item in this class would have to have a separate instance for each product (E.g. someone ordered 100 products, but only placed 1 order).
The above situation is not a problem. Each of the products would use the FK column (Order_Id). The value in that column would be the same for the 100 products.
Could I have an Product object in class Order?
Yes, but this will not replace the 1-M pattern existing here. See a UML representation sample here: Inner-Internal Class.
Note that in cases, you need programming data structures for representing collections of data in your code that is different from the data structure you use to represent the same information in the database if you use RDBMS from an OO application.