第三章 面向对象(上)
3.1面向对象的概述
算法分析,解决步骤,细化实现,----函数
将实际问题中一切事物---对象,抽象出对象的操作,特征,调用对象的操作
面向对象三大特征
3.2 类和对象
1.概念
一切实际存在的事物
对象的抽象,描述对象的共同特征
类是对象的图纸,对象是类的实例
2.类的定义和使用
对象名.属性
对象名.方法()
3.3封装
1.封装的步骤
//不确定的值,可能会变化的值=作为参数
void setAge(int a){
if(a>=18){
age=a;//age值到底是多少,变化
}else{
System.out.println("年龄必须大于18");;
}
}
member1.setAge(19 );
2.访问级别
private 定义声明的位置不一样 局部变量和成员变量同名 在局部两声明的那个方法的内部,默认使用局部变量 方法格式 返回类型 方法名(方法的参数){//方法的操作语句} 方法执行完成之后,是否会返回数据, 如果有返回数据,返回类型就是返回的那个数据的类型;没有返回数据,返回类型是void类型 不确定的值,可能会变化的值=作为参数 Eclipse自动添加属性的get和set方法。 右键/Source/generate Getters and Setters 相同的操作,用同一个方法名字表示。 由于方法名相同,JVM,区分到底要执行那个操作,执行不同的操作 根据参数不同来区分,参数个数或者类型不同3.成员变量和局部变量
public class Student {
//成员变量,属性成员
private int age;//私有,私有的成员,只能在类的内部访问
private String name ;//成员变量
private String hobby;//成员变量
// 参数字符串的值赋值给类的name属性
public void setName(String name) {
//方法的参数name和类的属性name同名
//在方法中默认使用的是方法里定义的局部变量name
//要使用属性name,需要给name加限定,this
this.name = name;
}
}
3.4方法的重载
1.方法的而返回值和参数
2.get方法和set方法
3.方法的重载
//无参数的setAge方法
void setAge(){
//默认加入社团的年龄
age=18;
}
//带参数的setAge方法
void setAge(int a){
if(a>=18){
age=a;//age值到底是多少,变化
}else{
System.out.println("年龄必须大于18");;
}
}



