
什么是抽象?
抽象是面向对象编程(oop)的基本原则之一,它是指系统隐藏复杂实现细节并仅显示基本功能的能力。抽象的目标是通过允许用户关注对象的作用而不是它是如何做的来简化与复杂对象的交互。
实际上,抽象是通过使用抽象类和接口来完成的,它们定义了必须由子类或具体类实现的行为。
为什么要使用抽象?
抽象有几个好处:
简单性:隐藏复杂性,允许用户以更简单、更直观的方式与对象交互。代码重用:类和接口可以在不同的上下文中重用,提高一致性。可维护性:只要公共接口保持不变,实现细节的更改不会影响使用抽象的代码。
java 中的抽象示例
1.使用抽象类
抽象类允许您定义没有实现的方法(抽象方法)和可由子类使用的具体方法。让我们创建一个示例,其中包含一个名为 shape 的抽象类以及子类 circle 和 rectangle。
WeShop唯象
WeShop唯象是国内首款AI商拍工具,专注电商产品图片的智能生成。
113 查看详情
// classe abstratapublic abstract class forma { // método abstrato public abstract double calculararea(); // método concreto public void imprimirarea() { system.out.println("a área é: " + calculararea()); }}
// subclasse circulopublic class circulo extends forma { private double raio; public circulo(double raio) { this.raio = raio; } // implementando o método calculararea @override public double calculararea() { return math.pi * raio * raio; }}
// subclasse retangulopublic class retangulo extends forma { private double largura; private double altura; public retangulo(double largura, double altura) { this.largura = largura; this.altura = altura; } // implementando o método calculararea @override public double calculararea() { return largura * altura; }}
使用类
public class main { public static void main(string[] args) { forma circulo = new circulo(5); forma retangulo = new retangulo(4, 6); // imprimindo áreas circulo.imprimirarea(); // saída: a área é: 78.53981633974483 retangulo.imprimirarea(); // saída: a área é: 24.0 }}
预期输出:
a área é: 78.53981633974483a área é: 24.0
2. 使用接口
接口是实现抽象的另一种方式。它们定义了实现它们的类必须提供的方法,但它们不提供默认实现。
// interfacepublic interface forma { double calculararea(); void imprimirarea();}
// classe circulo implementando a interfacepublic class circulo implements forma { private double raio; public circulo(double raio) { this.raio = raio; } @override public double calculararea() { return math.pi * raio * raio; } @override public void imprimirarea() { system.out.println("a área do círculo é: " + calculararea()); }}
// classe retangulo implementando a interfacepublic class retangulo implements forma { private double largura; private double altura; public retangulo(double largura, double altura) { this.largura = largura; this.altura = altura; } @override public double calculararea() { return largura * altura; } @override public void imprimirarea() { system.out.println("a área do retângulo é: " + calculararea()); }}
使用类
public class main { public static void main(string[] args) { forma circulo = new circulo(5); forma retangulo = new retangulo(4, 6); // imprimindo áreas circulo.imprimirarea(); // saída: a área do círculo é: 78.53981633974483 retangulo.imprimirarea(); // saída: a área do retângulo é: 24.0 }}
预期输出:
A área do círculo é: 78.53981633974483A área do retângulo é: 24.0
最后的考虑因素
抽象是面向对象编程中的一个基本概念,有助于创建更简单、可重用且更易于维护的系统。通过使用抽象类和接口,开发人员可以隐藏实现的复杂性,允许用户和系统的其他部分以直观的方式与对象交互。理解和应用抽象对于有效的面向对象软件开发至关重要。
以上就是面向对象编程中的抽象的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/452511.html
微信扫一扫
支付宝扫一扫