面试类型问题

时间:2013-09-19 05:36:44

标签: java .net sql

我接受了采访,我只是想知道解释以下问题的最简单方法:

什么是面向对象编程? 抽象类和接口类有什么区别? 描述应用程序生命周期:

我知道“书”的定义,但不像简短的面试类型答案。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

<强> OOP

为了清楚地理解物体方向,请以“手”为例。

“手”是一个类。你的身体有两个类型为hand的物体,分别是左手和右手。它们的主要功能由通过肩部(通过接口)发送的一组电信号控制/管理。

所以肩膀是你的身体用来与你的手互动的界面。手是一个很好的架构类。通过稍微改变它的属性,手被重新用于创造左手和右手。

接口类

界面是一个契约:编写界面的人说“嘿,我接受看起来那样的东西”,使用界面的人说“好吧,我写的课看起来那样”。

接口是一个空shell,只有方法的签名(name / params / return类型)。这些方法不包含任何内容。界面无能为力。这只是一种模式。

抽象类

抽象类与接口不同,是类。使用起来比较昂贵,因为当你从它们继承时会有查找。

抽象类看起来很像接口,但它们还有更多东西:你可以为它们定义一个行为。它更多的是一个人说“这些类应该看起来像这样,他们有共同点,所以填补空白!”。