Abstract class, Interface同Generic Class分別要點用?