面向对象编程
一、基本概念
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它以“对象”为中心,将数据和操作封装在一起,并通过类和对象来模拟现实世界中的实体和关系。以下是面向对象编程的一些基本概念:
1.类(Class):
类是对象的抽象,它定义了一组属性(通常称为成员变量)和一组方法(对属性的操作)。在类中还可以定义构造函数、析构函数等特殊方法。
2.对象(Object):
对象是类的实例,它具有类定义的属性和方法。每个对象都有其独特的属性值和方法实现。
3.封装(Encapsulation):
封装是将数据(属性)和操作数据的代码(方法)封装在一起,形成一个独立的实体(对象)。封装有助于隐藏对象的内部状态,并控制对对象的访问。
4.继承(Inheritance):
继承是从已有的类派生出新的类,新类继承了父类的属性和方法,并且可以添加或覆盖父类的行为。继承是实现代码重用和多态的重要机制。
5.多态(Polymorphism):
多态是指同一操作作用于不同的对象,可以有不同的解释和执行。多态的实现通常依赖于继承和接口。
6.抽象(Abstraction):
抽象是通过定义抽象类和接口来隐藏对象的某些细节,只暴露必要的属性和方法。抽象有助于简化复杂的问题,并提供一致的接口。
二、基本模板
public class Student(){
int socre;
int math;
...
//变量
public void printf(){}
public int sum(){}
...
//方法
}
对象本质上是一种特殊的数据结构
class也就是类,也称为对象的设计图(或者对象的模板)
三、执行原理
四、注意事项
1.类名建议用英文单词,首字母大写,满足驼峰模式,且有意义。
2.类中定义的变量也称为成员变量(对象的属性),类中定义的方法也称为成员方法(对象的行为)。
3.成员变量表示存在默认值,在定义成员变量时一般说不需要赋值(没有意义)。
4.一个代码文件中,可以有多个class类,但只能一个用public修饰,且public修饰的类名必须成为代码文件名。
5.对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了
6.如果某个对象没有一个变量来引用它,则对象无法被操作了,该对象会成为所谓的垃圾对象。
五、this关键字
1.基本概念
this就是一个变量,可以用在方法中,来拿到当前对象
2.应用场景
this主要用来解决:变量名称冲突
六、构造器
1.模板
public class Student{
/**构造器**/
public Student(){}
}
2.特点
1.创建对象时,对象会去调用构造器
Student s=new Student();
2.创建对象时,同时完成对对象成员变量(属性)的初始化赋值
3.注意事项
1.类在设计时,如果不写构造器,Java是会自动为类生成一个无参构造器的。
2.一旦定义的有参构造器,Java就不会帮我们的类自动生成无参构造器了,此时就建议自己动手写一个无参构造器出来。
七、封装
1.概念
就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去。
2.设计规范
1.合理隐藏、合理暴露
2.公有成员,可以使用public(公开)进行修饰。
3.隐藏成员,使用private(私有,隐藏)进行修饰。
八、JavaBean(实体类)
1.特点
1.仅仅只是一个用来保存数据的Java类,可以用它创建对象,保存某个事物的数据
package com.itheima;
public class Student {
//必须私有成员变量,并为每个成员变量都提供get set方法
private String name;
private double socre;
//2.必须为类提供一个公开的无参构造器
public Student() {
}
public Student(String name, double socre) {
this.name = name;
this.socre = socre;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSocre() {
return socre;
}
public void setSocre(double socre) {
this.socre = socre;
}
}
2.应用场景
实体类对应的是软件开发里现在比较流行的开发方式,数据和数据的业务处理相分离