天天看点

javaSE 面向对象 类

面向对象:万物接对象

对象:是一个具体的东西,有特征(属性)有行为(函数/方法)

对象是一个特殊容器:拥有特征和行为

面向过程编程:重复代码过多(代码重用性低)

面向对象编程:代码重用性高

对象是由类创建生成:使用对象前必须先要定义类

类:是一个抽象的概念,它是对象的类型,是由多个对象抽象出公共特征的行为组成

定义类的语法:

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  数据类型();

然后就是类的三大特性   封装   继承  多态  (明天重点)