面向对象
一、程序结构
面向过程的解决问题的流程、思路,顺序:
1.变量(变量、数据类型、运算符);
2.分支程序设计(if、swich语句);
3.循环结构设计(while、do...while、for、forcach语句);
4.数组(一维、二维数组、数组的基本操作及排序);
5.多方法程序设计(提取字符串信息)。
面向对象的学习方法:
1.先理解解决问题的思路,理解不了干脆就复制源码;
2.达到理解能力后,形成自己的解决方案;
3.掌握面向对象的规则。
面向对象开发步骤:
1.把现实的问题,抽象成代码 ;
2.定义一个"类" 来描述具有相同属性的一类群体 ;
1) 成员变量;
2)成员方法 ;
3)通过自定义类"类"实例化成对象(个体) ,通过 new 过程 在内存中开辟空间;
4)利用“对象.成员变量 、对象.方法()”来使用对象。
【程序1】 创建与人相关的类,并调用。目的:理解对象,了解面向对象程序设计的步骤。
创建Person类(放在Person.java文件中)
package person;
public class Person {
//定义属性:特征
String Name; //姓名
int Age; //年龄
String Sex; //性别
//定义方法:功能
void work(){ //工作有关的功能,不需要返回值和参数
if("男".equals(perSex)){
System.out.println("男人要努力赚钱");
}
else{
System.out.println("女人要漂亮");
}
}
void study(){ //学习有关的功能,不需要返回值和参数
if(perAge<18){
System.out.println("你还未成年哦");
}
else{
System.out.println("已经成年,需要有更多责任哦!");
}
}
}
建立一个包含主方法的类TestPerson,所在的文件为TestPerson.java。尝试调用Person类中的属性和方法:
package person;
public class TestPerson {
public static void main(String[] args) {
//创建Person类的对象(实例)
Person p1 = new Person();
//给属性赋值,类中的方法依赖于属性的值
p1.Name = "张三";
p1.Age = 10
p1.Sex ="女";
//调用方法
System.out.println("有一个人名字叫:"+p1.Name);
p1.study();
p1.work();
Person p2 = new Person();
p2.Name = "李四";
p2.Sex = "男";
p2.Age = 28
System.out.println("有一个人名字叫:"+p2.Name);
p2.study();
p2.work();
}
}
从上面代码可以看到p1、p2虽然都是Person类的对象,但是它们的属性的值可以不同,方法也返回不同的结果。
定义了一个类,我们可以实例化很多对象,每个对象的属性不同,这些属性都存在与对象独有的内存空间里,对象的内存空间是不存方法的,使用的时候把对象中的属性值传递给类的方法,统一的去调用类中的方法。