java_关于面向对象的基本概念及类和对象

面向对象:
概述:Java编程语言是 纯粹的面向对象思想的语言

现在程序开发有两个主流的方法
(1)结构化程序设计,面向过程程序设计
结构化程序设计主张以功能/步骤来进行软件设计
如在解决问题时,主要思考的是解决问题的步骤思路
围棋游戏:
1.游戏开始2.黑棋执行3.绘制图片4.判断输赢
5.白棋执行6.绘制图片7.判断输赢8.返回2
9.游戏结束
结构化程序设计是以函数为程序单元,从一个函数开始
调用一些普通的函数,进行数据处理,一直调用下去

设计思想:自顶而下,逐级精分,模块化

此种方式的编程语言:C;Basic

(2)面向对象程序设计
面向对象编程思想逐渐成熟起来
使用类,对象,继承,封装,消息等概念来进行程序设计
主要从现实世界中的客观事物(即对象)出发,来进行开发软件系统
尽可能地利用人的自然思维方式,从客观事物来思考问题,认识问题,从这些事物的本质特点,来抽象出系统所需要的类,

作为程序的基本单元

围棋游戏:
黑白棋子及其行为,棋盘,规则

是面向对象编程的基本单元,类含有一类事物的共同特征,可以产生多个对象,这些对象,构成了程序中所需要的数据
软件系统是由多个类组成,类是一类事物的抽象体现,二这些事物都有一些状态数据,即field,如:人,有身高,体重,姓

名,性别等,,设计程序时,只关心业务所需要的数据

field,称之为,成员变量,字段,属性,java有property关键词,属性的

类除了封装了一些事物的状态数据外,还提供了操纵这些状态数据的方法,实现逻辑

扫描二维码关注公众号,回复: 2468779 查看本文章

从上述内容可以总结出
成员变量(状态数据)+ 方法(行为)定义 = 类的定义

此类方式的编程语言:c++,java,c#,Ruby

=================================================
完成(猪八戒吃西瓜)逻辑

面向过程:函数吃 是核心
吃(猪八戒,西瓜)
面向对象:一类事物的一个:猪,吃是一种行为
一类事物的一个:西瓜
猪八戒.吃(西瓜)

面向对象要比面向过程粒度要大,相对容易
面向过程要比面向对象性能要高,因为,面向对象要进行对象的实例化,吃内存、性能

=================================================
抽象数据类型:用一堆不同类型的状态数据来描述的一种新的事物
reg:描述电脑,
颜色,尺寸,型号,主板,内存,硬盘,显卡等

 共同行为:办公,playGame,play

用状态数据(成员变量)总结一类事物的共同特征
用方法总结一类事物的共同行为
类的定义:成员变量+方法

格式语法:
修饰词 class 类名{
    type field1;
    type field2;
    ...
    修饰词 返回值类型 method1(){
        方法逻辑
    }
    ....
}

对象:类的实例化,即类的个体
类名 引用变量 = new 类名();

引用变量,简称引用,存储对象的地址信息

成员变量的调用:
引用.成员变量名
方法的调用:
引用.方法名(有参传参)

类和对象的关系:
类是对象的模板;对象是类的实例化

内存管理机制:
jvm将其管理的内存分成三大主要区域:方法区,堆,栈
—方法区:当程序运行时,将所需要的.class文件(类的信息)加载到此区间,即:存储运行时需要的.class文件(类的信

息)
—堆:用于存储引用类型所产生的对象,如果对象有成员变量,会给成员变量分配空间
—栈:方法内的变量(局部变量)是在栈中开辟的

基本类型的变量与引用类型的变量:
1.值传递:
基本数据类型的变量里存储的是基本类型的数据,

    int a = 5;
    int b = a;//将a的5复制,传递给了b

2.址传递:
引用类型的变量里存储的是对象的地址信息

Car c = new Car();
Car d = c;//将c中的地址信息复制一份赋值给d

值传递和址传递
空指针异常:NullPointerException
在程序运行时,可能会出现此异常,出现原因:地址信息为null

null是引用类型的默认值

猜你喜欢

转载自blog.csdn.net/yc_hen/article/details/81269214