Java基础面向对象介绍

简介: Java基础面向对象介绍

面向对象和面向过程的区别:


**面向过程:**主要关注点是:实现的具体过程,因果关系【集成显卡的开发思路】

优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低

缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的‘耦合度’非常高,只要其中一环出问题,整个系统受到影响,导致最终的软件“扩展力”差。另外,由于没有独立体的概念,所以无法达到组件复用

**面向对象:**主要关注点是:主要关注对象【独立体】能完成哪些功能。【独立显卡的开发思路】

优点:耦合性低,扩展力强。更容易解决现实世界当中更复杂的业务逻辑。组件复用性强。

缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计。

面向对象的分析:OOA


面向对象的设计:OOD


面向对象的编程:OOP


类和对象的概念


什么是类?


类在现实世界当中是不存在的,是一个模板,是一个概念。是人类大脑思考抽象出的结果。

类代表了一类事物。

在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板被称为类


什么是对象


对象是实际存在的个体。现实世界当中实际存在。

描述一下整个软件开发的过程:

程序员先观察现实世界,从现实世界当中实际存在

寻找了N多个对象后,发现所有的对象都有共同特征

程序员在大脑中形成了一个模板【类】

java程序员可以通过java代码来表述一个类

java程序中有了类的定义

然后通过类就可以创建对象,有了对象之后,可以让对象直接协作起来形成一个系统


重点:


类描述的是对象的共同特征。共同特征例如:身高特征这个身高特征在访问的时候,必须先创建对象,通过对象去访问这个特征因为这个特征具体在某个对象上之后的值不同。有的对象身高1.80,有的对象身高身高2.80


一个类主要描述什么信息呢?


一个类主要描述的是 状态 + 动作,状态信息:名字,身高,性别,年龄,动作信息:吃,唱歌,跳舞,学习


状态--> 一个类的属性

动作--> 一个类的方法

    *  类--【实例化】->对象

 * 对象又被称为实例/instance

 * 对象--【抽象】-->类


类{
属性;//描述对象的状态信息
 方法;//描述对象的动作信息
}


注意:


状态和动作当具体到某个对象之后,发现最终的结果可能不一样。

对象和对象之间有共同特征,但是具体到对象之后有数据的差异。


类的定义


语句结构:


[修饰符列表] class 类名{
      属性;
    方法;
 }


学生类,描述所有学生对象的共同特征:

学生对象有哪些状态信息:


学号【int】

姓名【String】

性别【boolean】

年龄【int】

住址【String】

学生对象有哪些动作信息:

   * 吃,唱歌,跳舞,学习


基本数据类型


byte


short


int


long


float


double


boolean


char


引用数据类型


String.class SUN提供

System.class SUN提供


Student.class 程序员自定义的

User.class 程序员自定义的

Product.class 程序员自定义的

Customer.class 程序员自定义的


相关文章
|
14天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
13 3
|
1月前
|
Java 关系型数据库
JAVA面向对象设计原则
JAVA面向对象设计原则
12 1
|
1月前
|
算法 Java
java面向对象和面向过程分析
java面向对象和面向过程分析
36 0
|
28天前
|
Java
java面向对象高级分层实例_实体类
java面向对象高级分层实例_实体类
10 1
|
1月前
|
Java 物联网 测试技术
Java面向对象程序设计3面向对象基础
Java面向对象程序设计3面向对象基础
168 0
|
3天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
7天前
|
存储 Java 编译器
对象的交响曲:深入理解Java面向对象的绝妙之处
对象的交响曲:深入理解Java面向对象的绝妙之处
36 0
对象的交响曲:深入理解Java面向对象的绝妙之处
|
17天前
|
搜索推荐 Java
Java基础(快速排序算法)
Java基础(快速排序算法)
22 4
|
25天前
|
算法 IDE Java
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
39 0
|
28天前
|
Java
java面向对象高级分层实例_测试类(main方法所在的类)
java面向对象高级分层实例_测试类(main方法所在的类)
9 1