一.编程语言的发展历史
(1) 编程语言的发展历程
机器语言 : 指令、数据、地址都以“0”和“1”的符号串 组成,可以被计算机直接执行。
汇编语言 : 用容易理解和记忆的符号表示指令、数据以及寄存器等
高级语言 : 屏蔽了机器细节,提高了语言的抽象层次接近于人的自然语言
面向对象 : 设计的出发点更为直接的描述问题域中客观存在的事物。
(2)面向对象和面向过程区别
1.面向过程:总是在上一个步骤的基础上进行合并组装,一步一步完成。(适用于规模比较小)
2.面向对象(OOP)都:先把条件都凑齐了再进行组装。(适用于规模比较大)
面向对象优点:(以活字印刷术为例)
1.可维护:当需要改动时,只需要修改要改的地方
2.可复用:一些字用完后,可以在后面重复使用
3.可扩展:如果需要加,只需要另外造出来,然后加进去。
4.灵活性好:字的排列可以是横排也可以是竖排。
面向对象缺点:
性能比面向过程低,因为类的调用需要实例化,开销比较大,消耗资源(比如单片机,嵌入式开发,Linux/Unix等一般采用面向过程。
面向对象三大特征:
封装;继承;多态
区别:当我们需要对目标进行调整时,面向对象中先完成的条件,可以用在需要调整的目标上,但是面向过程不支持这一个,需要重新走完整个步骤,所以面向对象最大的好处就是降低工作的重复率。
(3)类和对象
1.对象的特征:
属性:对象具有的各种特征
方法:对象执行的操作
2.类:
定义:具有相同属性和行为的一组对象的集合,
功能:确定对象将会拥有的特征 (属性)和行为(方法)
3.总结:
(4)练习
1.计算圆的面积
import java.util.*;
//定义类
class Circle
{
//成员变量
double radius;
//成员函数
public double getCir()
{
return 2*3.14*radius;
}
public double getArea()
{
return 3.14*radius*radius;
}
}
//主函数类:只能含有一个主函数,而且函数名必须和类名相同
public class LianXi{
public static void main(String args[])
{
//调用
Circle circle = new Circle();
circle.radius = 3.0;
System.out.println("周长"+ circle.getCir());
System.out.println( "面积"+circle.getArea());
}
}
2.计算长方形的面积和周长
import java.util.*;
//定义类
class Rectangle
{
//成员变量
double width;
double height;
//成员函数
public double getCir()
{
return 2*(width+height);
}
public double getArea()
{
return width*height;
}
}
public class LianXi{
public static void main(String args[])
{
//调用
Rectangle rec = new Rectangle();
rec.height = 5.0;
rec.width = 10.5;
System.out.println("周长"+ rec.getCir());
System.out.println( "面积"+rec.getArea());
}
}