86 lines
2.9 KiB
Java
86 lines
2.9 KiB
Java
package com.inmind.object01;
|
|
/*
|
|
面向对象是基于面向过程
|
|
面向过程:
|
|
面向:关注
|
|
过程:每个步骤
|
|
|
|
面向过程吃饭:
|
|
1.想吃什么
|
|
2.去菜市场买肉
|
|
3.货比三家,挑挑拣拣,买肉
|
|
4.回到家,洗洗,切一切,煮一煮,煮饭
|
|
5.吃饭
|
|
6.收拾
|
|
|
|
面向过程:每个步骤,全称参与
|
|
开发中:C语言就是面向过程的语言,遇到功能需求,自己写一些逻辑代码,自己定义一些方法。
|
|
|
|
对象:一个个体,一个结果,是一个真正存在实例
|
|
|
|
面向对象吃饭:
|
|
1.想吃什么(牛排,红烧肉)
|
|
2.自己去饭店
|
|
3.叫一个服务员
|
|
a.调用服务员的点菜功能
|
|
b.服务员将菜单交给后厨
|
|
c.根据菜单炒菜(买菜,洗菜,切菜)
|
|
d.调用服务员的上菜功能
|
|
|
|
4.我们只负责吃即可
|
|
5.付钱走人
|
|
|
|
面向对象:将之前劳动者或参与者,变成了指挥者,简化我们功能实现
|
|
开发中:java,c++,js...,遇到功能需求,不是直接开始写代码,而是先看一看有没有已经实现好的功能方法,如果有直接用,如果没有的话,那就得自己写。
|
|
|
|
java面向对象:大部分是面向对象,直接调用已经写好的功能的,但是还是有一部分是面向过程得自己实现一部分。
|
|
|
|
--------------------------------------------------------------
|
|
面向对象给学生类对象属性赋值并调用学生类方法
|
|
类与对象的关系:类是抽象(设计图),对象是具体(根据设计图创建出来真正存在的实体)
|
|
一个类的属性变量和方法都要通过该类的对象来操作
|
|
|
|
如何创建出对象???
|
|
创建对象的格式:
|
|
类名 对象名 = new 类名();
|
|
Student s = new Student();
|
|
|
|
总结:
|
|
要对另一个类的属性变量和行为方法进行调用操作,必须创建该类的对象,并通过该对象来操作:
|
|
a.对象.属性变量
|
|
b.对象.行为方法(参数列表)
|
|
*/
|
|
public class Demo01 {
|
|
public static void main(String[] args) {
|
|
/*
|
|
创建一个学生对象
|
|
Student:表示创建的对象的类型
|
|
s:表示对象名,用来操作对象的,s中保存了真正学生对象的地址
|
|
new:在堆内存中创建内容
|
|
Student():表示要创建的对象,跟之前的类名保持一致
|
|
*/
|
|
Student s = new Student();//对象
|
|
System.out.println(s);//com.inmind.object01.Student@3b07d329
|
|
//属性(取值和赋值)
|
|
//属性的取值
|
|
System.out.println(s.name);//null
|
|
System.out.println(s.age);//0
|
|
System.out.println(s.score);//0.0
|
|
//属性的赋值
|
|
s.name = "张三";
|
|
s.age = 18;
|
|
s.score = 100.0;
|
|
s.gender = "男";
|
|
s.id = 1;
|
|
System.out.println(s.name);//张三
|
|
System.out.println(s.age);//18
|
|
System.out.println(s.score);//100.0
|
|
|
|
//行为(调用功能)
|
|
s.eat("牛排");
|
|
s.sleep();
|
|
s.study("java");
|
|
|
|
}
|
|
}
|