面向对象:
1, 面向过程的思想(合适的方法出现在合适的类里面)
准备去一个地方:
先买车, 挂牌, 开导航, 踩油门, 过黄河, 穿越珠穆朗玛峰...
2, 面向对象的思想
我开着车去, 车怎么去随便所有去这个地方的信息, 全部封装在这个车里面, 我不了解这个车是怎么运行的, 我也不需要了解,
面向对象的基本思想是, 从现实世界中客观存在的事物出发, 来构造软件系统, 并在系统的构造中尽可能的运用人类的自然思维方式,
面向对象是目前人与计算机沟通最简单的语言思想
3, 什么是类, 什么是对象?
对象是类的一种实例化, 对象用"属性"和"方法"来对应描述事物所具有的"静态属性"和"动态属性"
类是用于描述同一类形的对象的一个抽象的概念, 类中定义了这一类对象应该具有的"静态属性"和"动态属性"
类可以看成是一类对象的模板, 对象可以看成该类的一个具体实例
举个例子(什么是瓶子-->一类事物的抽象-->静态属性,动态属性)
举个例子(人-->学生-->张三)
什么是类
学生是类, 瓶子是类, 老师是类
什么是对象
这个学生是对象, 这个瓶子是对象, 这个老师是对象, 符合这类事物的特征的某一个东西, 叫对象
领导-->显示职工的姓名
职工:
静态属性:
姓名: 张三
年龄: 24
工资: 3000
动态属性:
显示姓名
显示年龄
修改姓名
领取工资
4, 类与类之间的关系
关联关系(最弱的一种关系):
不好下一个定义, (A类中某个方法的参数是B类的某一个对象)
举个例子(学生<--学校-->老师)
老师要讲课, 这是一个方法, 要传个参数进去, 参数是学生对象
继承关系(避免多重继承)
什么是一种什么
举个例子(运动员-->球类运动员-->篮球运动员)
聚合关系(聚集, 组合)
什么是什么的一部分
举个例子(球队-->(王队长, 队员))
组合----人: 头, 身体
聚集:构成这个类的这部分可以是这个类的, 也可以是另外一个类的,
组合:每一部分只属于一个类
实现关系
接口:只管定义方法, 怎么实现由子类去做
举个例子(接口(开车的方法), A类可以实现, B类也可以实现)
5, java类的定义, 对象和引用
java: 万物皆对象, 处处皆需求
对象是对属性(成员变量, 静态属性)和方法(函数, 动态属性)的封装
java中提供的类, 程序员自己定义的类
面向对象更容易达到一种境界:
Reusable(重用性), Extensibility(可扩展性)
面向组件(Component)--比对象更高层次的抽象
WebService
6.成员变量和局部变量的区别
成员变量的初始化
成员变量可以是java中任意一种数据类型(基础数据类型和引用类型)
成员变量可以初始化, 也可以不初始化(java默认初始化)
成员变量的作用范围-->整个类
引用类型, 见1-6
类和对象的关系
C c1 = new C();
C c2 = new C();// c1, c2在这里是局部变量
package com.maya.test;
public class Person {
//成员变量
public int 身份证号;
public String 姓名;
//成员方法
public void test() {
int i=0;
//局部变量
System.out.println("执行test方法 !");
}
public void test1() {
int n = 身份证号;
}
}
package com.maya.test;
public class Main {
public static void main(String[] args) {--------------引用Person方法
/*
* 当使用new这个关键字的时候,
* 栈:方格-->p--地址指向Person对象
* 堆:方格--Person对象
*/
//new--->实例化
Person p123 = new Person();
//初始化
System.out.println(p123.姓名);
System.out.println(p123.身份证号);
p123.test();
}
}