面向对象编程初步(OOP:Object Oriented Programming)
面向过程 | 面向对象 | |
区别 | 事物比较简单,可以用线性 的思维去解决 | 事物比较复杂,使用简单的 线性思维无法解决 |
共同点 | 面向过程和面向对象都是解决实际问题的一种思维方式 | |
二者相辅相成,并不是对立的。 复杂的关系、方便我们分析整个系统;具体到微观操作,仍然使用 解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间 面向过程方式来处理 |
对象:是具体的事物
对象:用来描述客观事物的一个实体,由一组属性和方法构成
类:是对对象的抽类和对象的关系
类是模子,确定对象将会拥有的特征(属性)和行为(方法)
类是抽象的概念,仅仅是模板,比如说:“人”
对象是一个你能够看得到、摸得着的具体实体象(抽象 抽出象的部分)
“人”类 |
特征(属性) 年龄 体重 |
行为(方法) 衣 食 住 行 |
比如法拉利的属性和方法
属性: 品牌:法拉利 型号:F360 Spider 颜色:蓝色 价格:360万元 方法: 发动 加速 停止 |
对象和类的关系:特殊到一般,具体到抽象。
类:我们叫做class。
对象:我们叫做Object, instance(实例)。以后我们说某个类的对象,某个类 的实例。是一样的意思。
类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性。
对象是Java程序的核心,在Java程序中“万事万物皆对象”。
JDK提供了很多类供编程人员使用,编程人员也可定义自己的类。
属性 field,或者叫成员变量
属性用于定义该类或该类对象包含的数据或者说静态属性。
属性作用范围是整个类体
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。(数值:0,0.0 char:\u0000, boolean:false, 所有引 用类型:null)
属性定义格式:
[修饰符] 属性类型 属性名 = [默认值]
面向对象中,整个程序的基本单位是类,方法是从属于对象的
方法定义格式: [修饰符] 方法返回值类型 方法名(形参列表 ) { // n条语句 }
JAVA中方法参数传递是:值传递!
//在Java中实现类
public class 类名 {
//定义属性部分
属性1的类型 属性1;
属性2的类型 属性2;
…
属性n的类型 属性n;
//定义方法部分
方法1;
方法2;
…
方法m;
}
如何创建和使用对象
使用对象的步骤:
创建对象
类名 对象名 = new 类名();
Person person = new Person();
引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()
person.name = “孙大圣"; //给name属性赋值
person.introduce(); //调用introduce()方法
//通过实例表达
public class IdeaPerson {
//定义属性
String name;
int age;
String sex;
public void introduce(){
System.out.print("姓名:" + name + " 年龄:" + age + "性别:" + sex);
}
public static void main(String[] args) {
IdeaPerson idea = new IdeaPerson();//创建对象
System.out.print("变量前");
idea.introduce();//调用方法
idea.name = "孙行者";//给属性赋值
idea.age = 99;
idea.sex = "男";
System.out.print("变量后");
idea.introduce();//调用方法
}
}