What are the basic extend and implement classes for Magento2?

magento
  • Model: extends \Magento\Framework\Model\AbstractModel
  • ResourceModel: extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
  • Collection: extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
  • Block : extends \Magento\Framework\View\Element\AbstractBlock
  • Helper : extends \Magento\Framework\App\Helper\AbstractHelper
  • InstallData: implements InstallDataInterface
  • InstallSchema: implements InstallSchemaInterface
  • UpgradeData: implements UpgradeDataInterface
  • UpgradeSchema: implements UpgradeSchemaInterface