面向对象
(1)面向对象
A:是一种更符合我们思考习惯的思想
B:把复杂的事情简单化
C:让我们从执行者变成了指挥者
举例:
..
万事万物皆对象
(3)把大象装进冰箱
属性:事物的基本描述
行为: 事物的功能
B:Java语言中最基本的单位是类。所以,我们要用类来体现事物
C:类
成员变量: 事物属性
成员方法: 事物行为
D:类:是一组相关的属性和行为的集合。是一个抽象的概念。
对象:是该类事物的具体存在,是一个具体的实例。(对象)
举例:
学生:类
班长:对象
(5)类的定义及使用
A:类的定义
成员变量 定义格式和以前一样,就是位置不同,在类中,方法外。
成员方法 定义格式和以前一样,就是去掉了static。
B:使用类的内容
a:创建对象? 格式
类名 对象名 = new 类名();
b:如何使用成员变量和成员方法呢
对象名.成员变量
对象名.成员方法()
(6)案例:
A:开发:就是不断的创建对象,通过对象调用功能
B:设计:就是管理和维护对象间的关系
C:特征
a:封装(encapsulation)
b:继承(inheritance)
c:多态(polymorphism)
(1)面向对象
面向对象是基于面向过程的编程思想
面向过程:强调的是每一个功能的步骤
面向对象:强调的是对象,然后由对象去调用功能
(2)面向对象的思想特点A:是一种更符合我们思考习惯的思想
B:把复杂的事情简单化
C:让我们从执行者变成了指挥者
举例:
买电脑
面向过程:自己去买
面向对象:让别人替我买
洗衣服
面向对象:洗衣机
做饭..
万事万物皆对象
(3)把大象装进冰箱
A:面向过程实现
import java.util.Scanner;
/*
面向过程
A:打开冰箱门
B:装进大象
C:关闭冰箱门
*/
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("打开冰箱门");
//打开冰箱门的东西,现在仅仅是为了演示,就写了一个输出语句
//其实,他可能需要做很多操作
//这个时候代码就比较多,而且可能会重复使用
//应该用方法改进
System.out.println("装进大象");
System.out.println("关闭冰箱门");
//面向过程
open();
in();
close();
}
public static void open(){
System.out.println("打开冰箱门");
}
public static void in(){
System.out.println("装进大象");
}
public static void close(){
System.out.println("关闭冰箱门");
}
}
B:面向对象实现
注意:如何让我们的操作更符合面向对象思想呢?A:有哪些类
B:每个类有哪些成员C:类与类的关系(相互调用)
import java.util.Scanner;
/*
面向对象:
如何分析有哪些类?UML:名词提取法
有哪些类:大象,冰箱,demo
每个类有哪些东西;
大象:进口
冰箱:开口,关口
demo:main
类和类之间的关系
demo中使用大象和冰箱类的功能
*/
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bingxiang b = new Bingxiang();
b.open();
Daxiang ele = new Daxiang();
ele.in();
b.close();
}
}
class Daxiang{
public void in(){
System.out.println("把大象装进冰箱");
}
}
class Bingxiang{
public void open(){
System.out.println("打开冰箱门");
}
public void close(){
System.out.println("关闭冰箱门");
}
}
类与对象
A:现实世界的事物属性:事物的基本描述
行为: 事物的功能
B:Java语言中最基本的单位是类。所以,我们要用类来体现事物
C:类
成员变量: 事物属性
成员方法: 事物行为
D:类:是一组相关的属性和行为的集合。是一个抽象的概念。
对象:是该类事物的具体存在,是一个具体的实例。(对象)
举例:
学生:类
班长:对象
(5)类的定义及使用
A:类的定义
成员变量 定义格式和以前一样,就是位置不同,在类中,方法外。
成员方法 定义格式和以前一样,就是去掉了static。
B:使用类的内容
a:创建对象? 格式
类名 对象名 = new 类名();
b:如何使用成员变量和成员方法呢
对象名.成员变量
对象名.成员方法()
(6)案例:
A:学生类的定义和使用
import java.util.Scanner;
/*
学生事物:
属性(成员变量):姓名,年龄,地址
行为(成员方法):学习,吃饭,睡觉
如何使用成员变量:对象名.变量名
如何使用成员方法:对象名.方法名()
*/
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu = new Student();
String name = stu.name;
System.out.println(name);
name="赋值了";
System.out.println(name);
stu.study();
}
}
class Student{
String name;
int age;
String address;
public void study(){
System.out.println("学生爱学习");
}
public void eat(){
System.out.println("学生饿了,要吃饭");
}
public void sleep(){
System.out.println("学习累了,要睡觉");
}
}
B:手机类的定义和使用
/*
手机:
属性:品牌,价格,颜色
行为:打电话 发短信 玩游戏
*/
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Phone phone = new Phone();
String name = "lily";
phone.callphone(name);
phone.color="red";
System.out.println(phone.color);
}
}
class Phone{
String brand;
int price;
String color;
public void callphone(String name){
System.out.println("给"+name+"打电话");
}
public void sendMessage(){
System.out.println("群发短信");
}
public void playGame(){
System.out.println("玩游戏");
}
}
(7)内存图
A:一个对象的内存图
B:二个对象的内存图
C:三个对象的内存图
A:开发:就是不断的创建对象,通过对象调用功能
B:设计:就是管理和维护对象间的关系
C:特征
a:封装(encapsulation)
b:继承(inheritance)
c:多态(polymorphism)