我在几个网站上看到了抽象的不同含义。
有些网站说
选择相关数据并忽略无关紧要的数据
有些网站说
从同一种对象中获取公共类
例如,与公共汽车、卡车和汽车相比,车辆类可以被视为抽象。
我对这些定义感到困惑。什么是正确的?
我在几个网站上看到了抽象的不同含义。
有些网站说
选择相关数据并忽略无关紧要的数据
有些网站说
从同一种对象中获取公共类
例如,与公共汽车、卡车和汽车相比,车辆类可以被视为抽象。
我对这些定义感到困惑。什么是正确的?
最简单的抽象定义是“从规范中隐藏实现细节”。最佳实时示例是:假设您是驾驶员,那么您需要知道“如何驾驶汽车(其规范)”,而不是汽车的实现细节(例如发动机的构建方式等)。
最简单的编程示例是 System.out.println() 函数。作为程序员,您需要知道如何使用 System.out.println(),而不是它的实现细节。希望它能消除你的疑虑。
抽象是“代表基本特征而不代表背景细节”。
抽象让您专注于对象的作用,而不是它如何做。
抽象通过提供相关信息为您提供类或对象的通用视图。
抽象是隐藏对象的工作方式,并以可理解的方式显示对象信息的过程。
抽象的真实世界示例: -
假设您有一个对象移动电话。
假设您有 3 部手机如下:-
对象“手机”的抽象信息(Necessary and Common Information)是拨打任意号码,可以发送短信。
这样,对于手机对象,您将拥有如下抽象类:-
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();
}
抽象意味着将所有必要的变量和方法放在一个类中。
例如: - 抽象类和抽象方法。
抽象是常见的事情:
例子:
如果您的大学有人告诉您填写申请表,您将填写您的详细信息,例如姓名,地址,出生数据,哪个学期,您获得的百分比等。如果某个医生给您申请填写详细信息,您将填写姓名、地址、出生日期、血型、身高和体重等详细信息。
看看上面的例子有什么共同点?年龄、姓名、地址 - 因此您可以创建由称为抽象类的常见事物组成的类。该类不完整,可以由其他类继承。
抽象是处理高级概念而忽略低级细节的能力。
我喜欢我在 McConnell 的书“代码完成”中看到的例子:
如果您将一个对象称为“房子”而不是木头、玻璃和钉子的组合,那么您就是在使用抽象。