java面向对象

万物i皆对象

面向对象

面向对象是相对面向过程而言
面向对象和面向过程都是一种思想
面向过程强调的是功能、行为
面向对象:将功能封装进对象,强调具备了功能的对象
面向对象是基于面向过程的
面向过程例子:

把大象放进冰箱里分为以下步骤:把冰箱门打开;把大象放进去;关上冰箱门(强调过程和过程中所涉及的行为(强调行为、动作、过程))。

用面向对象思想考虑:无论是打开冰箱,放进大象,关闭冰箱,所有操作都是操作冰箱这个对象,所以只需要将所有功能都定义在冰箱这个对象上,冰箱上就有打开、存储、关闭得所有功能 。

由上可知,面向对象是一种思想,能让复杂问题简单化,程序员不需要了解具体的实现过程,只需要指挥对象去实现功能。例,面试官面试面试者就是面向对象的体现,面试官需要找具有编程功能的对象(面试者),而我就是一个具有编程功能的对象,面试完后,让面试者去编程,面试者就去实现编程功能。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特征:对象的属性
行为:对象的方法

在这里插入图片描述

类和对象

类:具有相同属性和方法的一组对象的集合
类是对象的抽象,对象是类的具体

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//创建school类
public class School {
	String schoolName;		//中心名称
	int classNumber;		//教室数目
	int labNumber;			//机房数目
	
	//定义北大青鸟中心的方法
	public void showCenter(){
		System.out.println(schoolName + "培训学员\n" + "配备:" 
			+ classNumber + "教" + labNumber + "机");
	}
}

在这里插入图片描述



public class InitialSchool {


	public static void main(String[] args) {
		School center = new School();
		System.out.println("***初始化成员变量前***");
		center.showCenter();
		center.schoolName = "北京中心";		//给schoolName属性赋值
		center.classNumber = 10;			//给classNumber属性赋值
		center.labNumber = 10;				//给labNumber属性赋值
		System.out.println("\n***初始化成员变量后***");
		center.showCenter();
	}
}

//创建学生类和教师类
public class InitialStudent {
	public static void main(String args[]){
		Student student = new Student();	//创建对象
		student.name = "张浩";				//给各个属性赋值
		student.age = 10;
		student.classNo = "S1班";
		student.hobby = "篮球";
		student.show();						//调用方法
	}
}

public class InitialTeacher {
	public static void main(String[] args) {
		Teacher teacher = new Teacher();	//创建对象
		teacher.name = "王老师";				//给各个属性赋值
		teacher.major = "计算机";
		teacher.courses = "使用Java语言理解程序逻辑";
		teacher.schoolAge = 5;
		teacher.show();						//调用方法
	}
}

public class Student {
	String name;	//姓名
	int age;		//年龄
	String classNo;	//班级
	String hobby;	//爱好
	
	public void show(){
		System.out.println(name + "\n年龄:" + age + "\n就读于:" +
			classNo + "\n爱好:" + hobby);
	}
}

public class Teacher {
	String name;	//姓名
	String major;	//专业方向
	String courses;	//教授课程
	int schoolAge;	//教龄
	
	//输出信息方法
	public void show(){
		System.out.println(name + "\n专业方向:" + major + 
			"\n教授课程:" + courses + "\n教龄:" + schoolAge);
	}
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

import java.util.Scanner;
public class InitialVistor {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		Visitor v = new Visitor();		//创建对象
		System.out.print("请输入姓名:");
		v.name = input.next();			//给name属性赋值
		System.out.print("请输入年龄:");
		v.age = input.nextInt();		//给age属性赋值
		v.show();                       //调用显示信息方法
	}
}


import java.util.Scanner;

public class Visitor {
	String name;	//姓名
	int age;		//年龄
	
	public void show(){
		Scanner input = new Scanner(System.in);
		while(!"n".equals(name)){
			if(age>=18 && age<=60){		//判断年龄
				System.out.println(name + "的年龄为:" + age +
					",门票价格为:20元\n" );
			}else{
				System.out.println(name + "的年龄为:" + age + ",门票免费\n");
			}
			System.out.print("请输入姓名:");
			name = input.next();			//给name属性赋值
			if(!"n".equals(name)){
				System.out.print("请输入年龄:");
				age = input.nextInt();			//给age属性赋值
			}
		}
		System.out.print("退出程序");
	}
}

//方法二

/*
 * 游客类
 * */
public class Visitor {
	//属性:姓名      年龄
	String name;
	int age;
	
	//方法:根据不同年龄计算不同的门票价格
	public void showPrice(){
		if(age<=10){
			System.out.println("门票免费");
		}else if(age<=60){
			System.out.println("门票全费:20元");
		}else{
			System.out.println("门票半价:10元");
		}
	}
}

import java.util.Scanner;

/*
 * 测试:不同的游客,计算不同的票价
 * */
public class TestVisitor {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String answer="";
		
		do{
			Visitor v1=new Visitor();
			System.out.print("请输入姓名:");
			v1.name=input.next();
			System.out.print("请输入年龄:");
			v1.age=input.nextInt();
			v1.showPrice();
			
			System.out.println("是否继续(y/n)?");
			answer=input.next();
			
		}while(answer.equals("y"));
		
		System.out.println("程序结束!");
		
	}
}


//用户密码管理


public class Administrator {
	String name;	    //姓名
	String password;	//密码
	
	//显示信息方法
	public void show(){
		System.out.println("姓名:" + name + ",密码:" + password);
	}
}

import java.util.Scanner;

public class ChangePassword {

	/**
	 * 更改管理员密码
	 */
	public static void main(String[] args) {
		 Scanner input = new Scanner(System.in);
        Administrator admin = new Administrator();	//创建管理员对象
        admin.name = "admin1";						//给name属性赋值
        admin.password = "111111";					//给password属性赋值
        //输入旧的用户名和密码
        System.out.print("请输入用户名:");
        String nameInput = input.next();
        System.out.print("请输入密码:");
        String pwd = input.next();
        //判断用户输入的用户名和密码是否正确
        if(admin.name.equals(nameInput) && admin.password.equals(pwd)){
            System.out.print("\n请输入新密码:");
            admin.password = input.next(); //修改密码
            System.out.println("修改密码成功,您的新密码为:" + admin.password);
        }else{
            System.out.print("用户名和密码不匹配!您没有权限更新管理员信息。");
        }

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值