欢迎访问:https://www.ltysyn.cn/?p=170
什么是面向对象编程?你是如何理解的
- 面向对象时站在对象角度思考问题的一种方式
- 类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例
封装
- 封装就是把一些属性和方法封装起来,形成一个类
- 类的属性一般私有;类的方法:该公开的公开,该私有的私有
- 将属性都私有,并且提供 set/get 方法,做成了通用的组件,叫 JavaBean
继承
继承是一种构建新类的方式,他是基于已有的类的定义为基础,构建新的类,已有的类称为父类,新构建的类称为子类,子类能调用父类的非private修饰的成员,同时还可以自己添加一些新的成员,扩充父类,甚至重写( @Override )父类已有的方法,使其表现符合子类的特征。
多态
从一定角度来看,封装和继承几乎都是为多态而准备的。多态是同一个行为具有多个不同表现形式或形态的能力。多态性是对象多种表现形式的体现。类中多个方法的重载( Overload )叫多态,父子类中方法的覆盖( @Override )也叫多态。因此多态有两种体现:一个是方法的重载,一个是方法的覆盖。多态有方法的多态和对象的多态(一个对象多种形态)。
方法的多态
- 方法的重载和重写(覆盖)
对象的多态
- 用父类的引用指向子类的具体实现,并且可以随时更换为其他子类的具体实现
public class Animal {
public void say() {
System.out.println("我是一个动物");
}
}
public class Cat extends Animal {
public void say() {
System.out.println("我是一个猫");
}
}
public class Dog extends Animal {
public void say() {
System.out.println("我是一个狗");
}
}
Test
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.say();
Cat cat = new Cat();
cat.say();
}
}
ps.对象的转型 :
- 向上转型:子类对象 -> 父类对象 安全 ( Animal animal = new Dog(); )
- 向下转型:父类对象 -> 子类对象 不安全 ( Dog dog = (Dog) animal; )