面向对象:万物接对象
对象:是一个具体的东西,有特征(属性)有行为(函数/方法)
对象是一个特殊容器:拥有特征和行为
面向过程编程:重复代码过多(代码重用性低)
面向对象编程:代码重用性高
对象是由类创建生成:使用对象前必须先要定义类
类:是一个抽象的概念,它是对象的类型,是由多个对象抽象出公共特征的行为组成
定义类的语法:
Public class 类名{
//属性1
//属性2
。。。。。
//函数1
//函数2
。。。。。
}
类中只能有属性和函数(不能有像 if这种的控制结构,但可以写在函数里面)
定义属性的语法:就是变量的语法
数据结构属性名(变量);
函数定义语法:
public void 函数名(参数列表){
}
Public 数据类型函数名(参数列表){
//return数据;//必须在最后一行
}
eg:
定义学生类
姓名属性 年龄属性 性别属性 吃饭函数 睡觉函数
publicclass Student{
String name;
intage;
chargender;
publicvoid eat(){
System.out.println("吃饭,夹菜,吃。。。");
}
publicvoidsleep(){
System.out.println("躺下,闭眼");
}
}
在程序中我们需要使用的是类的对象:
创建对象的过程称为实例化过程(由抽象变为具体):
创建对象的语法:
类名 对象名(自定义) = new 类名();
相当于:
数据类型(类名)变量名 = new 数据类型();
数据类型(类名)变量名 =值;
使用对象的属性和函数:
对象名.输姓名
对象名.函数名()
2016-11-21(1)下午
面向对象由三大特性:(设计思想)封装 继承多态
封装:隐藏,将属性和函数封装在一个类里面;
一般类分为普通数据类和功能类
属性:分为成员变量和局部变量
成员变量:定义在类中,有初始默认值,String默认为null ,int为0 ,double是0.0,char是 (空格)作用范围整个类中
局部变量:定义在函数当中,没有初始默认值,在使用前必须赋初值,作用范围是当前函数中。如果存在与成员变量相同名的时候,计算机中按就近原则调用。
eg:AMT系统:
用户对象:
账号属性 密码属性 余额属性 存钱() 取钱()
系统对象:
初始化函数()主界面() 登陆() 退出()
测试类:
主函数:调用初始化()主界面函数
定义一个学生类:
属性:姓名年龄性别学号
在主函数中初始化3个学生对象,并使用遍历的方式将数组中的学生信息打印出来
***************************
姓名 年龄 性别 学号
张娜 19 女 101
王下 20 男 102
李欢 32 男 103
public class SystemObject_1 {
UserObject[] users = new UserObject[5]; // 实例化用户对象
Scanner input = new Scanner(System.in);
// 初始化
public void init() {
// 给用户设置属性值
UserObject zhangLa = new UserObject();
zhangLa.studentName = "张娜";
zhangLa.age = "19";
zhangLa.gender = '女';
zhangLa.studendId = "101";
users[0] = zhangLa;
UserObject wangHan = new UserObject();
wangHan.studentName = "王晗";
wangHan.age = "20";
wangHan.gender = '男';
wangHan.studendId = "102";
users[1] = wangHan;
UserObject liHuan = new UserObject();
liHuan.studentName = "李欢";
liHuan.age = "32";
liHuan.gender = '男';
liHuan.studendId = "103";
users[2] = liHuan;
show();
}
public void show(){
System.out.println("姓名" + "\t" + "年龄" + "\t" + "性别" + "\t" + "学号");
for (int i = 0; i < users.length; i++) {
if (users[i] == null) {
break;
}
System.out.println(
users[i].studentName + "\t" + users[i].age + "\t" + users[i].gender + "\t" + users[i].studendId);
}
}
}
总结:
进过学习,知道了面向对象编程中类的总要性,特点就是可以大大的提高代码的重用性!! 类就是对象的抽象,对象就是类的实例化。
类中没有主函数,而且类中只能有属性和方法(不能有像if等的流程结构或者说是循环结构)。属性--相当于就是变量 方法-就是函数
简单的说,类就是由 变量和函数所组成的! 然后就是,如果想用类,就必须实例化! 语法就是 : 类名 对象名 = new 类名();
简单的可以理解 类名--就是自定义的数据类型 ;所以类实例化得语法相当于 : 数据类型 变量名 = new 数据类型();
然后就是类的三大特性 封装 继承 多态 (明天重点)