发布网友 发布时间:2023-10-11 20:21
共1个回答
热心网友 时间:2024-12-12 00:04
可以从面向对象的思想进行考虑。封装,继承,多态是面向对象的三大要素。1.就像你说的父类更通用子类更具体,解决代码重用,去除代码冗余。2.是为了多态服务。里氏替换原则:只要程序里的出现的父类类型都可以用这个父类的子类进行替换。这样就大大提高了程序的健壮性和灵活性。3.在协同开发的时候类库具体内容没写好而项目又要进行,可以定义好接口,写一个方法返回这个接口的类型,根据里氏替换原则可以返回这个接口的子类。调用类库的时候可以直接调用获取接口的方法,类库写好之后只要更改获取接口的方法就可以了 (直接返回这个类)。4.工厂设计模式,第三条中获取接口的方法其实就是一种简单工厂设计模式,这样做的优点是可以满足日后的扩展以及维护,换一种实现直要修改获取方法的返回值就可以了。 至于继承有什么缺点?它肯定没有不继承的快,因为实例化继承类的机制是 先复制父类成员到内存中,然后复制自己的成员。然后执行父类构造函数,然后执行自己的构造函数。但是这个速度应该差别不是很大,你可以实例化一万个继承类和非继承类测试一下。 但是程序的健壮性和灵活性是软件项目开发过程中最重要的一环