简介:面向对象编程是一个模式,它提供了继承、数据绑定、多态等等的一些概念。
1. 面向对象编程
面向对象编程是使用类和对象来设计程序的方法或者模式。它通过提供一些概念简化了软件开发和维护。
- 对象
- 类
- 继承
- 多态
- 抽象
- 封装
1.1 对象
任何一个有状态和行为的实体都是对象。比如椅子、桌子、钢笔等。
1.2 类
对象的集合就是类,它是一个逻辑实体。比如一个具体的有唯一特征人称为对象,当出现多个有人的共同特征的个体时,我们就称他们为人类。
1.3 继承
一个对象获取父对象的所有属性和行为,叫做继承。它提供了代码的可重复性,用于实现运行时多态性。继承是面向对象编程的概念,一个对象基于另一个对象构建并且它还是代码重用的机制。被继承的类称为超类(父类),继承超类的类称为子类。
在 java 中使用 extends 关键字来实现继承。
class FatherA{
public void run(){
System.out.println("我是父类....");
}
}
//继承FatherA类
class SonB extends FatherA {
public void walk(){
System.out.println("我是子类....");
}
}
public class Test {
public static void main(String args[]){
SonB s = new SonB();
//可以调用父类中的方法
s.run();
s.walk();
}
}
1.4 多态
一个任务通过不同的方式执行时,叫做多态性。比如把说话作为一个任务,我们人类有独特的语言,而动物也有它们所特有的语言,那么在说话时标识和声音都不太一样。
编译时多态-
public class Circle{
public void draw(){
System.out.println("绘制圆形,默认为黑色,直径为1cm");
}
public void draw(int diameter){
System.out.println("绘制圆形,默认为黑色,直径为"+diameter+"1cm");
}
public void draw(int diameter,String color){
System.out.println("绘制圆形,默认颜色为"+color+",直径为"+diameter+"1cm");
}
}
多种 draw() 方法,它们都有不同的行为,为方法重载(方法名相同,参数不同)的一种情况。
1.5 抽象
抽象是隐藏内部细节和用简单的术语描述事物的概念。比如添加两个整数的方法,但是方法的内部处理对外界是隐藏的。有许多方法可在面向对象的程序中实现抽象,比如封装和继承。
1.6 封装
将代码和数据包装在一起成为单个单元称为封装。比如胶囊包裹着不同的药物。
一个 java类是封装的例子。Java bean 是完全封装的类,因为所有的数据成员在这里都是私有的。
封装是用于在面向对象编程中实现抽象的技术,它用于对类成员和方法的访问限制。
访问修饰符关键字用于面向对象编程中的封装。例如 java 中的封装是使用 private 、protected 和public 关键字来实现的。