我在几个网站上看到过抽象的不同含义。
有些网站说
选择相关数据并忽略无关紧要的数据
有些网站说
从同类对象中学习普通类
作为示例与公共汽车,货车和汽车相比,可以将车辆类视为摘要。
我对这些定义感到困惑..什么是正确的?
答案 0 :(得分:1)
抽象的最简单定义是“隐藏其规范中的实现细节”。 最佳实时示例是:假设您是一名驾驶员,那么您需要知道“如何驾驶汽车(其规格)”,而不是汽车的实施细节(如引擎如何构建等)。
最简单的编程示例是System.out.println()函数。作为程序员,您需要知道如何使用System.out.println(),而不是它的实现细节。 希望它能让你怀疑。
答案 1 :(得分:0)
抽象是能够使用高级概念而忽略低级细节。
我喜欢我在McConnell的书“Code complete”中看到的例子:
如果将对象称为“house”而不是组合 木头,玻璃和钉子,你正在使用抽象。
答案 2 :(得分:0)
抽象是"代表基本功能而不代表背景细节。"
抽象可以让你专注于对象的作用而不是它是如何做的。
抽象通过提供相关信息为您提供类或对象的通用视图。
抽象是隐藏对象的工作方式,以可理解的方式显示对象信息的过程。
真实世界的抽象示例: -
假设您有一个移动电话对象。
假设您有3部手机: -
对象的抽象信息(必要和公共信息)"移动电话"拨打任何号码都可以发送短信。"
这样,对于手机对象,您将拥有如下的抽象类: -
abstract class MobilePhone
{
public void Calling();
public void SendSMS();
}
public class Nokia1400 : MobilePhone
{
}
public class Nokia2700 : MobilePhone
{
public void FMRadio();
public void MP3();
public void Camera();
}
public class BlackBerry : MobilePhone
{
public void FMRadio();
public void MP3();
public void Camera();
public void Recording();
public void ReadAndSendEmails();
}
抽象意味着将所有变量和方法放在必要的类中。
例如: - 抽象类和抽象方法。
抽象是常见的事情:
示例:
如果拼贴中有人告诉您填写申请表,您将填写您的详细信息,如姓名,地址,出生数据,学期,您获得的百分比等。 如果某位医生为您提供填写详细信息的申请,您将填写详细信息,如姓名,地址,出生日期,血型,身高和体重。
在上面的例子中看到了什么是常见的事情?年龄,名称,地址 - 因此您可以创建由称为抽象类的常见事物组成的类。该类不完整,可以由其他类继承。