面向对象
面向对象思想将客观世界中的事物描述为对象,并通过抽象思维方法将需要解决的实际问题分解成人们易于理解的对象模型,然后通过这些对象模型来构建应用程序的功能。
面向对象的一些概念:
类、对象、继承、封装、多态等。
A.对象
什么是对象:
- 一切客观存在的事物都是对象
- 比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。 概括来说就是:万物皆对象。
对象的组成:
- 属性
- 行为
计算机中的对象:
B.类
类是什么:
- 类是对大量对象共性的抽象
- 类是客观事物在人脑中的主观反映
- 类是创建对象的模板
类的组成:
- 属性
- 行为
- 例如学生类,凡是学生,都有学号、姓名、班级等,这些都是描述学生特征的,称为学生类的属性;
- 凡是学生,都有回答问题、做实验等行为
C.类的定义
定义一个类的语法
[修饰符] class 类名{//类的声明部分 [成员变量] [成员方法] }
类体有两部分构成:
- 成员变量
- 成员方法
定义一个类:
Public Student(){
}
成员变量的声明
语法:
[修饰符] 数据类型 变量名 [=初始值];
public Studetn(){
public String name;
public int age;
}
成员方法的声明
语法
[修饰符] 返回值类型 方法名([参数类型 参数名,]){//方法的实现 //方法体 }
public Student(){
public String name;
public void pri(){
System.out.println("它的姓名为"+name);
}
}
D.类的使用
通过类创建一个对象
语法:
- 类的类型 变量名 = new 类类型名();
如Student stu = new Student();
为对象的成员变量赋值
语法:
- 对象名.属性名 = 属性值;
stu.name = "张三";
调用对象的成员方法
语法:
- 对象名.方法名([参数,……]);
stu.pri();
E.方法重载
重载(overloading)
同一个类中定义了多个方法名相同而参数不同的方法。
方法重载 方法名相同,参数不同(个数不同,类型不同,顺序不同)
public int sum(int a, int b) {
int c = a + b;
return c;
}
//方法重载 方法名相同,参数不同(个数不同,类型不同,顺序不同)
public int sum(int a, int b, int d) {
int c = a + b + d;
return c;
}
//可变参数的方法 可对任意个数字求和
public int sum(int ... a) {
System.out.println(Arrays.toString(a));
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum+=a[i];
}
System.out.println