什么是面向对象编程?
将程序中的数据和操作数据的方法组织成一个相互依存的对象,并通过对象间的交互来实现程序的功能
面向对象编程的步骤:
1、新建一个学生类(就是对象的模板)
2、创建对象
创建对象:类名 变量名 = new 类名();
Student s = new Student(); s是一个引用类型的变量,里面记住的是对象的地址。
创建数据:
s.name = "XXXX";s.chinese = 100;s.math = 100;
处理数据:s.printTotalScore(): s.printAverageScore();
深刻认识面向对象
如果要创建对象,必须先设计类 类究竟是个啥?就是一个模板表(对象的设计图,对象的模板)
对象是由类new出来的,可以代表具体的东西,创建对象:类名 变量名 = new 类名();类通常只有一个,但其对象可以有千千万万个。对象本质可以理解成一张具体的表数据。
对象在计算机中的执行原理
Student s = new Student()
new出来的学生对象在堆内存中,学生对象中包含了成员变量数据,和类地址信息。
每个对象中都有一份成员变量数据。彼此不冲突!
s中存储的是学生对象在堆内存中的一个所谓的地址信息的。
类和对象的一些注意事项
类名建议用英文单词,首字母大写,满足驼峰模式,且要有意义,比如:Student、Car…
类中定义的变量也称为成员变量(对象的属性),类中定义的方法也称为成员方法(对象的行为)。
成员变量本身存在默认值,同学们在定义成员变量时一般来说不需要赋初始值(没有意义)。
一个代码文件中,可以写多个class类,但只能一个用public修饰,且public修饰的类名必须成为代码文件名。
对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了。
如果某个对象没有一个变量引用它,则该对象无法被操作了,该对象会成为所谓的垃圾对象。
构造器
是类中的一种特殊方法
格式:修饰符 类名(形参列表) {}
特点:
创建对象的时候,对象一定会去调用构造器的
类名 对象名 = new 类名();
类名 对象名 = new 类名(参数);
作用:
由于创建对象时,对象一定会去调用构造器,因此我们常常在创建对象时,通过构造器来为对象进行初始化赋值。 Student s = new Student("XXXX", 23);
注意事项:
任意一个类,默认自带一个无参数构造器,但是如果我们定义了一个有参数构造器,那么默认的无参数构造器就没有了,如果此时想用需要手写出来
this
this可以出现在方法或者构造器中,本质是一个变量,代表的是当前对象
this出现在方法中,哪个对象调用这个方法,this就指代哪个对象
作用:
this可以解决局部变量与成员变量命名冲突的问题,this可以指定访问的是当前对象的成员变量。this.成员变量
封装
对象本身就是对数据和对数据处理的封装
封装可以提高安全性,可以提高开发效率。
怎么规范设计封装:合理隐藏,合理暴露
实体JavaBean
实体类:
作用:
创建对象,封装数据,主要负责数据的存,取。
实体类的应用场景:
总设计思想:软件开发非常推崇分层设计思想。
各司其职,互相配合。便于扩展与维护。
实体类:创建对象只负责数据的存,和取
我们可以创建一个操作类,他的对象专门负责对实体类对象的数据进行业务操作。