※面向对象:
1、物以类聚 ,分类的思维模式,解决问题前首先解决问题需要解决哪些 类,然后对这些分类进行单独思考,最后,才对某一个分类下的细节进行面向过程的思索
2、,面向对象用于处理复杂的问题和处理多人协做的问题。
※面向过程
1、步骤清晰简单,第一步做什么,第二步做什么……
2、面向过程处理一些单一的问题
问题:如何把大象装进冰箱
以简单好理解的方式来总结
面向过程:步骤:①把冰箱门打开 ② 把大象装进去 ③把冰箱门关闭
面向对象:①首先问题可以分为两个类: 大象类 冰箱类 Demo类
②分析每个类中具有的行为(方法):对于大象类有装入类 in()方法 冰箱类有open()和close()两个方法
面向对象的代码展示:
在面向对象的过程中,在Demo类中调用了Elephine类和IceBOx类相对应的方法。
面向过程主要在c++里面体现,这里就不展示代码了哈
面向对象编程(OOP)本质:以类的方式组织代码,以对象的组织(封装)代码。
四大特点:封装 继承 多态 抽象
从代码的角度来看就是先有对象后有类,类是对象的模板。
从理论的角度来看类是对象的属性和行为的载体。类是抽象的,而对象是抽象出来的实例。
方法:一段用来完成特定功能的代码片段,有特定的语法格式
方法包含方法体和方法头。
方法头:修饰符 返回值类型 方法名 参数类型 (形参和实参)
方法体:方法内包含的具体语句,定义该方法的功能。
代码展示
※对象的创建时使用new关键字,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化 以及对类中的构造器的调用。
※ 构造器也称构造方法,是进行创建对象的时候必须调用的。特点:①必须和类的名字形同 ② 必须没有返回类型,但是不能写void。
代码展示构造器
学生类的创建
①以类的方式组织代码,以对象的组织(封装)数据。
// 类: 抽象的,实例化
类有静态的属性(字段)和动态的行为(方法)。
//属性:字段
String name; int age;
//行为:方法
学生学习的行为study()
学生读书的行为read()
public void study() { System.out.println(this.name+"在学习"); } public void read() { System.out.println(this.name+"在读书"); }
// 利用new 关键字 s1就是Student类实例化的一个具体对象(实例!)
代码展示
new关键字
/*
public static void main(String[] args) {
//new 实例化一个对象
Person person = new Person();
person.name = “徐小磊”;
System.out.println(person.name);
构造器: 1、和类名相同 2、没有返回值类型 作用: 1、new 本质就是在调用构造方法 2、初始化对象的值 注意点: 1、定义的有参构造之后,如果性使用无参构造,显示的定义一个无参的 构造 */
类的创建
//以类的方式组织代码,以对象的组织(封装)数据
/*//一个项目应该存在一个main方法
// 类: 抽象的,实例化
// 利用new 关键字 s1就是Student类实例化的一个具体对象(实例!)
public static void main(String[] args) {
Student s1 = new Student(); Student s2 = new Student(); s1.name = "徐小磊"; s1.age = 20; System.out.println(s1.name+"今年"+s1.age +"岁了"); s1.study(); s2.name = "白小兵"; s2.age = 21; System.out.println(s2.name+"今年"+s2.age +"岁了"); s2.read();
}