面向对象
面向对象思想
面向对象是基于面向过程的编程思想
面向过程:强调的是每一个功能的步骤
面向对象:强调的是对象,然后由对象去调用功能
面向对象的思想特点
A:是一种更符合我们思想习惯的思想
B:可以将复杂的事情简单化
C:将我们从执行者变成了指挥者
举例:
买电脑:
1、 面向过程:我了解我的电脑–了解我自己的需求–找对应的参数信息–去中关村买电脑–讨价还价–买电脑
2、 面向对象:我知道我要买电脑–班长去给我买–班长就买回来了
开发、设计、特征
- 面向对象开发
就是不断的创建对象,适用对象,指挥对象做事情 - 面向对象设计
其实就是在管理和维护对象之间的关系 - 面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
类与对象关系
我们学习的编程语言java中最基本的单位是:类
事物 | 类 |
---|---|
属性 :事物的信息描述 | 成员变量:事物的属性 |
行为 :事物的功能 | 成员方法:事物的行为 |
类:是一组相关的属性和行为的集合。是一个抽象的概念
对象:是该事物的具体的表现形式
定义一个类,其实就是定义该类的成员变量和成员方法。
举例
案例:我们来完成一个学生类的定义
学生事物:
属性:姓名,年龄,地址……
行为:学习, 吃饭,睡觉……
把事物要转换成对应的类:
学生类:
成员变量:姓名、年龄、地址……
成员方法:学习、吃饭、睡觉……
成员变量:和以前变量的定义是一样的格式,但是位置不同,在类中方法外
成员方法:和以前的方法定义是一样的格式,但是今天把static先去掉。
- 如何定义学生类
按照事物到类的过程一步步分析
//这是我的学生类
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("学习累了要睡觉!");
}
如何使用学生类
*创建对象使用如何创建对象呢?
*格式: 类名 对象名 = new 类名( );如何使用成员变量呢?
*对象名.变量名如何使用成员方法呢?
*对象名.方法名
//这是学生测试类
//如何使用呢?
// 创建对象使用
class StudentDemo{
public static void main(String[] args)
{
/*
格式: 类名 对象名 = new 类名( );
*/
Student s = new Student();
//输出成员变量值
//System.out.println(s.name);
//System.out.println(s.address);
//System.out.println(s.age);
//改进写法 赋值前的输出
System.out.println(s.name+"---"+s.age+"---"+s.address+"");
//给成员变量赋值
s.name = "罗巍";
s.age = 23;
s.address = "北京";
//赋值后的输出
System.out.println(s.name+"---"+s.age+"---"+s.address+"");
//调用方法
s.study();
s.eat();
s.sleep();
}
}