1. OOP是什么
OOP:面向对象程序设计(Object Oriented Programming,OOP)
2. 面向对象的基本概念
2.1 面向对象
面向对象是一种基于对象概念的软件开发方法,是目前软件开发的主流方式
面向对象有三大特征:封装、继承、多态
2.2 对象
2.2.1 什么是对象
- 在面向对象的世界中认为万事万物皆对象,看得见,摸得着的都是对象。
- 对象不是一个概念,他代表一个具体的事物。
- 我们日常生活中所见到的每一件具体的的事物就是一个对象。
例如:你现在正在看的这一篇文章就是一个对象,你家的那只猫就是一个对象,你吃的那个苹果,就是一个对象。
2.2.2 对象有什么特点
在面向对象的世界中,对象从两个方面去认识:
- 对象的状态:对象本身所具有的属性,例如猫的名字、年龄、毛色、品种。
- 对象的行为:对象本身所具有的功能,例如猫有捉老鼠、爬树、吃鱼等行为。
2.3 类
2.3.1 什么是类
- 类是具有相同状态和行为的一组对象的集合(统称)
- 类就是代表多个的统称,不是一个具体的个体。
例如:文章是类,猫是类,苹果是类,因为它们没有指出具体的事物,是一个统称,所以称为类。
2.3.1 类有什么特点
在编程世界中,用属性表示对象的状态,用方法表示对象的行为(功能)。
2.4 类与对象的关系
- 类是对象的模板,对象是类的具体实例。
- 类与对象的关系就如同摸具和用这个摸具制作出来的物品之间的关系。
- 一个类给出他全部对象的统一定义,而它的每个对象则是符合这种定义的一个实体(也称作实例),因此类和对象的关系就是抽象和具体的关系。
3. 类定义
3.1 类的构成
类由属性和方法构成。
3.2 类的定义
语法
[访问修饰符] class 类名{ //访问修饰符有 public、private、默认修饰符(不写)、protect
//编写属性
//编写方法
}
示例
public class Student {
//类的属性(类的状态)
String name;
int score;
String no;
//类的方法(类的行为)
public void play(){
System.out.printf("我的名字是%s,我的成绩是%d,我的学号是%s",name,score,no);
}
}
注意:
public 类必须和该类所在文件的文件名相同;
如果不是public类,那么类名和该类所在文件的文件名可以不同
定义类就是定义了一个新型数据类型,这个数据类型的名称就是类名
3.2.1 类的属性
对象所拥有的特征在类中表现为类的属性,属性使用变量表示。
语法
[访问修饰符] 数据类型 属性名; //访问修饰符有 public、private、默认修饰符(不写)、protect
示例
//定义一个学生类
public class Student {
//类的属性(类的状态)
String name; //定义学生的姓名
int score; //定义学生的成绩
String no; //定义学生的学号
}
3.2.2 类的方法
语法
[访问修饰符] 返回值类型 方法名(参数){
//方法体
};
示例
public class Student {
//类的方法(类的行为)
public void play(){
System.out.println("同学们正在操场玩耍...")
}
}
4 创建和使用对象
4.1 创建对象
类是一类事物的集合和抽象,代表着这类事物共有的属性( 状态)和方法(行为)。一个对象称为类的一个实例,是类一次实例化的结果。例如 "松江" 就是一个 "人" 类的具体对象。
语法
// new 就是实例化的过程,new也是分配内存的意思
类名 对象名 = new 类名();
示例
Student s1 =new Student();
Student s2 =new Student();
内存结构
4.2 使用对象
对象要引用属性和方法,需要使用成员运算符 “.” 。
语法
对象名.属性名 //引用对象的属性
对象名.方法名 //引用对象的方法
示例
Student s1 =new Student();
s1.name="haha";
s1.score=78;
Student s2 =new Student();
s2.name="yaya";
s2.score=98;
运行结果:
我的名字是haha,我的成绩是78,我的学号是null
我的名字是yaya,我的成绩是98,我的学号是null