To override the Contact's Edit button and provide custom user interfaces in both Salesforce Classic and Lightning Experience, the developer should use a Visualforce page in Salesforce Classic and a Lightning component in Lightning Experience. This is because Visualforce pages are supported as overrides in Salesforce Classic, but not in Lightning Experience or mobile. On the other hand, Lightning components are supported as overrides in Lightning Experience and mobile, but not in Salesforce Classic. Therefore, the developer needs to use different technologies for different user interfaces. The developer can specify the override type and the page or component to use for each user interface in the Buttons, Links, and Actions settings of the Contact object. References: Override Standard Buttons and Tab Home Pages, Standard Actions and Overrides Basics, Override Buttons, Links, and Tabs with Visualforce