面向对象的概念
对象,就是对问题中的事物的抽象
面向对象:
就是把现实中的事物都抽象为“对象”。每个对象是唯一的,且都可以拥有它的属性与行为。我们就可以通过调用这些对象的方法、属性去解决问题。
面向对象的特征
面向对象的三大基本特征:封装、继承、多态
类与对象的概念
类的概念
类是对于客观事物的高度抽象,面向对象方法中的类是一种类型,它是具有相同属性和行为的对象的集合
对象的概念
当识别出这个对象的属性和行为后,这个对象就被定义完成了,然后可以根据再根据各种手机的特点,将这些手机共有的属性和行为封装起来来描述手机,由此可见,类实质上就是封装对象属性和行为的载体,而对象则是类抽出来的一个实例。
封装
封装即信息隐蔽。它是指在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行,外部各部分之间的信息联系应尽可能的少。
访问修饰符
- public:对外公开,访问级别最高
- protected:只对同一个包中的类或者子类公开
- 默认:只对同一个包中的类公开
- private:不对外公开,只能在对象内部访问,访问级别最低
封装的优点
-
良好的封装能够减少耦合,符合程序设计追求“高内聚,低耦合”。
-
类内部的结构可以自由修改。
-
可以对成员变量进行更精确的控制。
-
隐藏信息实现细节。
封装代码示例
public class Person {
private String a;
private int v;
}
继承
让某个类型的对象获得另一个类型的对象的属性和方法。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承的好处
(1)提高类代码的复用性
(2)提高了代码的维护性
(3)使得类和类产生了关系,是多态的前提(它也是继承的一个弊端,类的耦合性提高了)
继承代码示例
class A extends B{}
重写方法:
调用父类方法,改写其中特性
class Dog{
public void say(){
System.out.println("汪汪汪");
}
}
class cat extends Dog {
public void say(){
System.out.println("喵喵喵");
}
}