浅谈Java面向对象
什么是面向对象
面向对象编程(Object-Oriented Programming,缩写为OOP)是一种计算机编程架构,是一个将真实世界抽象为一系列对象并通过对象之间的交互来描述程序的架构。OOP的核心思想是将程序中的数据和行为进行组合和封装,同时继承和多态机制让程序变得更加灵活。
抽象
抽象是OOP的一个重要概念,它将现实中的复杂问题进行简化,从而更容易理解和处理。在Java中,可以通过抽象类和接口来实现抽象。
抽象类
抽象类是一种不能直接创建对象的类,只能被继承和实现的类。它可以拥有成员变量、构造方法、普通方法和抽象方法。抽象方法是一种没有实现的方法,它只含有方法定义和方法声明,具体的实现由子类来完成。
示例:
abstract class Shape {
double area;
public Shape() {
}
public abstract void computeArea();
}
class Circle extends Shape {
double radius;
public Circle(double r) {
radius = r;
}
public void computeArea() {
area = Math.PI * radius * radius;
}
}
接口
接口是一种Java中的特殊类型,它定义一个包含一些抽象方法的类。接口定义了一些方法,但是并没有提供具体的实现,其实现由其他类来完成。
示例:
interface Drawable {
void draw();
}
class Circle implements Drawable {
public void draw() {
System.out.println("Drawing Circle");
}
}
class Rectangle implements Drawable {
public void draw() {
System.out.println("Drawing Rectangle");
}
}
继承
继承是OOP中一个重要的机制,它允许创建一个新的类,从而通过重用已有类中的成员变量和方法来减少重复代码,并且可以实现多态。
示例:
class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public void move() {
System.out.println(name + " is moving");
}
}
class Bird extends Animal {
public Bird(String name) {
super(name);
}
public void fly() {
System.out.println(name + " is flying");
}
}
多态
多态是OOP的又一个重要机制,它允许子类类型的对象被当作父类类型的对象使用,从而提高程序的灵活性。多态指的是同一个方法在不同的情况下有不同的行为。
示例:
class Animal {
public void move() {
System.out.println("Animal is moving");
}
}
class Dog extends Animal {
public void move() {
System.out.println("Dog is running");
}
}
class Cat extends Animal {
public void move() {
System.out.println("Cat is jumping");
}
}
public class Test {
public static void main(String[] args) {
Animal animal = new Animal();
Animal dog = new Dog();
Animal cat = new Cat();
animal.move();
dog.move();
cat.move();
}
}
在上面的示例中,Animal、Dog和Cat都有一个move()方法,但是它们的行为却是不同的。在main()函数中,使用Animal引用变量分别引用Animal、Dog和Cat类型的对象,并调用它们的move()方法,由于具体对象的不同,move()方法的行为也不同,这就是多态。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈java 面对对象(抽象 继承 接口 多态) - Python技术站