java基础六(面向对象)

面向对象
            (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:三个对象的内存图


     (8)Java程序的开发,设计和特征
             A:开发:就是不断的创建对象,通过对象调用功能
             B:设计:就是管理和维护对象间的关系
             C:特征
                     a:封装(encapsulation)
                     b:继承(inheritance)
                     c:多态(polymorphism)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值