You can do this without subclassing Product.
What you'll want to implement is a DataObjectDecorator class for Product - http://doc.silverstripe.com/doku.php?id=dataobjectdecorator - this is a standard way of modifying an existing class without harming upgradability.
e.g.
Create a new file MyProductDecorator.php in the mysite/code/ directory with the following (or simiar) code:
<?php
class MyProductDecorator extends DataObjectDecorator {
function updateCMSFields($fields) {
$fields->removeByName('Weight');
}
}
?>
Add this line to your _config.php file in the mysite directory for your project to enable the decorator for Product:
Object::add_extension('Product', 'MyProductDecorator');
The decorator should be enabled after you run ?flush=1
The example decorator simply removes the Weight field from the product editing fields in the CMS. It doesn't manipulate the DB to remove the Weight column. This should be sufficient enough for you.
If you're wanting to update the Product HTML template, simply copy Product.ss from the ecommerce module into your theme (or mysite) templates folder and change it from there, after you run ?flush=1 your Product.ss should be used instead of the one in ecommerce.
Cheers,
Sean