面向对象的概念
从结构化程序设计到面向对象程序设计
结构化程序设计方法又称面向过程设计方法,结构化程序设计方式产生了结构化程序设计
主要特点是采用自顶向下逐步求解的程序设计方法。
有三种基本控制结构构造:
1、顺序结构
2、选择结构
3、重复结构
面向对象的特征
- 对象唯一性
每个对象都有自身唯一的标识,不同的对象不能有相同的标识 - 抽象性
将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。任何类的划分都是主观的,但必须与具体应用有关。 - 封装性
将客观事物封装成抽象类 - 继承性
子类共享父类的属性和行为,子类可以将父类有的但并不怎么符合自身所想的行为进行改写,当另一个子类继承该父类时,另一个子类调用的仍是原父类所有的属性与行为 - 多态性
相同的操作或函数、过程可作用于多种类型的对象上,并获得不同的结果。
面向对象程序设计
-
对象:现实生活中可以碰到、看到的东西。
-
类:一系列具有相同的属性和行为的对象构成了类。
类的声明:
修饰符 class 类名{
}
修饰符有:public、abstract、final等 -
属性:类定义中所包含的数据,也称数据成员。
属性的声明:
修饰符 数据类型 属性名;
修饰符有:public、private、protected、final、static等
数据类型有:boolean、char、byte、short、int、long、float、double -
方法
方法的声明:
修饰符 返回值类型 方法名(参数列表){
方法体
} -
构造器:每个类必须至少有一个构造器
注意:如果在程序中定义了构造器,即使是无参构造器,编译器也不会提供默认的构造器(无参构造器) -
包:即package语句,一般使用域名的反写
题目1、汽车有三个属性(型号、颜色、车牌号),编写一个Car类来描述它,要求能用带参数的构造器赋值
package cn.ryjiaoyu.www.nuit2;
public class Car {
public String modelNumber;
public String color;
public String plateNumber;
public Car(String modelNumber, String color, String plateNumber) {
this.modelNumber = modelNumber;
this.color = color;
this.plateNumber = plateNumber;
}
public static void main(String[] args) {
Car car=new Car("Envoy","argenteous","G157525");
System.out.println("型号为"+car.modelNumber+"车牌号为"+car.plateNumber+"的颜色是"+car.color);
}
}
题目2、编写一个计算器类,里面有两个操作数即加、减、乘、除4个方法。编写应用程序生成该类的对象,并使用它的方法进行计算
package cn.ryjiaoyu.www.nuit2;
public class Calculator {
public double add(double a, double b) {
return a + b;
}
public double subtract(double a, double b) {
return a - b;
}
public double multiply(double a, double b) {
return a * b;
}
public double divide(double a, double b) {
return a / b;
}
public static void main(String[] args) {
Calculator calculator=new Calculator();
System.out.println(calculator.add(23,6.6));
System.out.println(calculator.subtract(23,6.6));
System.out.println(calculator.multiply(23,6.6));
System.out.println(calculator.divide(23,6.6));
}
}