You are an enterprise application developer for Woodgrove Bank. You are creating an application to manage different loan types. All loan types share a common implementation for interacting with the financial systems of Woodgrove. Each loan type must implement its own rules for calculating interest. In the first version of the application, you must support car loans and house loans. You need to develop an architecture for the different loan types within your application. What should you do?
A.
Implement Loan as an abstract class. Implement CarLoan and HouseLoan as concrete classes.
B.
Implement Loan as an interface. Implement CarLoan and HouseLoan as concrete classes.
C.
Implement Loan as a concrete class. Implement CarLoan and HouseLoan as interfaces.
D.
Implement Loan as a sealed class. Implement CarLoan and HouseLoan as abstract classes.