面向对象
面向过程:1.2.3...步骤,-----算法
一、面向对象:Oriented Object,OOP,OOA,
模拟现实社会,描述复杂的问题场景,让对象自己解决问题。
概念:
对象:万事万物皆对象。每一个看得见摸得着的一个具体存在。
静态的 特征:姓名,性别,身高,电话号码
动态的特征:行为,动作,功能等。上课,吃饭,睡觉
类:具有相同的特征的对象的集合。
类和对象的关系:
类是一个概念,是抽象的,对象是一个具体的对象,
类士集合,对象是其中的一个个体。
类是数据类型,对象是实例对象。
学生---张荣 共享单车--青桔
1.2面向对象的开发步骤:
1.2.1、:先把对象归类,抽象出类
属性:数据类型 变量名;String name;
方法:访问控制符 返回值类型 方法名(参数列表){
方法体
}
//访问控制符 public
//返回值类型 void
//方法名 小驼峰法,见名知意
//参数列表 可以省略
//方法体 具体的执行过程
1.2.2、由类来创建对象
类名 对象名=new 类名();
1.2.3、使用.操作符来访问对象的属性和方法
对象名.属性
对象名.方法()
属性:全局变量,实例变量
有默认值:int---0,String----null,double----0.0 boolean---false
作用域:整个类中所有的方法都可以使用
生命周期:从对象的创建----对象的销毁
局部变量和全局变量是否可以重名?可以,局部变量的优先级更高
如果要特指全局变量,
this 当前对象,谁调用这个方法 this就指代谁
1.3方法
行为,动作,功能等
访问控制符 返回值类型 方法名(参数列表){
方法体
}
返回值类型:void 没有返回值
有返回值:int ,String等
方法体最后一句要以return 数据类型的值;
课后练习:
1、定义狗类
定义狗类 属性:昵称,品种,健康值(int) 方法:吃,玩飞盘 定义测试类 实例化对象,调用方法 |
public class Dog2 {
public static void main(String[] args) {
Dog xx = new Dog();
xx.name = "霸天虎";
xx.health = 100;
xx.var = "德牧";
System.out.println(xx.name + "的品种是" + xx.var + ",健康值是:" + xx.health);
}
}
----------------------------------------------------------------------------------------
public class Dog {
String name;
String var;
int health;
public void eat() {
System.out.println("吃骨头");
}
public void play() {
System.out.println("玩飞盘");
}
}
2、求矩形面积
定义矩形类: 属性:宽 、高 方法:计算周长,面积(要求把结果返回) 定义测试类:实例化两个矩形对象,并求出周长和面积。 |
public class Juxing {
double length;
double width;
public double perim() {
double per;
per = (length + width) * 2;
return per;
}
public double area() {
double are;
are = length * width;
return are;
}
}
----------------------------------------------------------------------------------------
public class Juxing2 {
public static void main(String[] args) {
Juxing x = new Juxing();
x.length = 5;
x.width = 9.5;
System.out.println("矩形的周长为:" + x.perim() + "矩形的面积为:" + x.area());
}
}
3、实现级联菜单
一级菜单
二级菜单
|
import java.util.Scanner;
public class Caidan {
public void menu1() {
Scanner sc = new Scanner(System.in);
boolean flag = false;
do {
System.out.println("********欢迎进入银行系统********");
System.out.println("\t1、注册");
System.out.println("\t2、登录");
System.out.println("\t3、退出");
System.out.println("************************");
System.out.print("请选择:");
int num = sc.nextInt();
switch (num) {
case 1:
System.out.println("\t注册");
break;
case 2:
System.out.println("\t登录");
menu2();
break;
case 3:
System.out.println("\t退出");
break;
default:
flag = false;
System.out.println("输入有误,请重新输入");
}
} while (!flag);
}
public void menu2() {
Scanner sc = new Scanner(System.in);
System.out.println("************************");
System.out.println("\t1、查询余额");
System.out.println("\t2、存款");
System.out.println("\t3、取款");
System.out.println("************************");
System.out.print("请选择(输入0返回上一级):");
int num = sc.nextInt();
switch (num) {
case 0:
menu1();
break;
case 1:
System.out.println("\t查询余额");
break;
case 2:
System.out.println("\t存款");
break;
case 3:
System.out.println("\t取款");
break;
default:
System.out.println("输入有误,请重新输入");
menu2();
}
}
}
----------------------------------------------------------------------------------------
public class Caidan2 {
public static void main(String[] args) {
Caidan d = new Caidan();
d.menu1();
}
}
4、定义一个计算器,实现两个数的加减乘除。
public class Cal {
double num1;
double num2;
public double jia() {
double he = num1 + num2;
return he;
}
public double jian() {
double jian = num1 - num2;
return jian;
}
public double cheng() {
double cheng = num1 * num2;
return cheng;
}
public double chu() {
double chu = num1 / num2;
return chu;
}
}
-------------------------------------------------------------
public class Cal2 {
public static void main(String[] args) {
Cal suan = new Cal();
suan.num1 = 45;
suan.num2 = 4.5;
System.out.println("这两个数相加为:" + suan.jia() + "\t相减为:" + suan.jian()
+ "\t相乘为:" + suan.cheng() + "\t相除为:" + suan.chu());
}
}
5、用户登录
账户类: 属性:用户名,密码 方法:登录验证,要求返回验证结果 正确的账户信息是admin/123456 |
import java.util.Scanner;
public class Zhanghu {
String user = "admin";
String password = "123456";
public String denglu() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入你的用户名:");
String a = sc.next();
System.out.print("请输入你的密码:");
String b = sc.next();
if (user != a || password != b) {
return "您的账号或密码有误";
} else {
return "登录成功";
}
}
}
-----------------------------------------------------------------------------------
public class Zhanghu2 {
public static void main(String[] args) {
Zhanghu yz = new Zhanghu();
System.out.println(yz.denglu());
}
}