面向对象的思想概述
编写程序当需求单一,或者简单时,我们可以高效率短时间内一步一步去操作。
可是随着需求的更改,功能的增多,发现需要面对的每一个步骤很麻烦了,这个时候开始思索,能不能将这些步骤和功能进行封装,功能类似的封装在一起。
这样结构就清晰了很多。用的时候找到对应的类就可以了。这就是面向对象的思想。
面向对象的思想特点:
a:是一种更符合我们思想习惯的思想
b:可以将复杂的事情简单化
c:将我们从执行者变成了指挥者
面向对象特征:封装、继承、多态
类与对象概述
我们描述现实世界事物,就是说明事物的属性和行为
属性就是该事物的描述信息,行为就是该实物能做什么
我们学习编程语言,就是为了模拟现实中的事物,我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。
由此我们就得到了现实中的事物和类的对应关系
事物 类
属性 ----------------- 成员变量
行为 ----------------- 成员方法
成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
成员方法 和以前定义方法是一样的,只不过把static去掉。
类:是一组相关的属性和行为的集合
对象:是该类事物的具体体现
下面定义一个学生类:
public class Student {
private String name;
private int age;
//构造方法:方法名和类名相同,没有返回值类型,连void 也没有
//我们自定义的一个类中,默认就会存在一个空参的构造方法
//构造方法,就是用来初始化这个类的,完成对类的实例化
public Student() {}
public Student(String name) {
System.out.println(name);
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void study(){
System.out.println("学习");
}
}
类的使用
在一个java文件中写两个类:一个基本的类,一个测试类。建议文件名称和测试类名称一致。
创建对象格式:
类名 对象名=new 类名();
使用成员变量:对象名.变量名
使用成员方法:对象名.方法名()
下面创建一个对象,实现对学生类的使用
public class MyTest {
public static void main(String[] args) {
//采用空参构造来创建对象
Student student = new Student();
student.setName("张三");
student.setAge(13);
System.out.println(student.getName());
System.out.println(student.getAge());
System.out.println("--------------------------------");
//采用有参构造来创建对象,在创建对象的同时,就可以给成员变量赋值
Student student1 = new Student("王五", 25);
System.out.println(student1.getName());
System.out.println(student1.getAge());
student1.study();
}
}
运行结果
张三
13
--------------------------------
王五
25
学习