我即将接受采访,我只是想知道解释以下问题的最简单方法:
什么是面向对象编程?抽象类和接口类有什么区别?描述应用程序生命周期:
我知道“书”的定义,但不像简短的采访类型的答案。任何帮助,将不胜感激!
面向对象
为了清楚地理解面向对象,以你的“手”为例。
“手”是一类。你的身体有两个手类型的对象,名为左手和右手。它们的主要功能由一组通过您的肩膀(通过接口)发送的电信号控制/管理。
所以肩膀是你的身体用来与你的手互动的界面。手是一个结构良好的类。通过稍微改变它的属性,手被重新用于创建左手和右手。
接口类
接口是一种契约:编写接口的人说“嘿,我接受这样的东西”,使用接口的人说“好吧,我写的类是那样的”。
接口是一个空壳,只有方法的签名(名称/参数/返回类型)。这些方法不包含任何内容。界面什么都做不了。这只是一个模式。
抽象类
与接口不同,抽象类是类。使用起来更昂贵,因为从它们继承时需要进行查找。
抽象类看起来很像接口,但它们还有更多的东西:你可以为它们定义一个行为。更多的是关于一个人说“这些课程应该看起来像这样,并且他们有共同点,所以请填空!”。