开元·曼居酒店-面向对象特性之一,封装
新闻动态
你的位置:开元·曼居酒店 > 新闻动态 > 面向对象特性之一,封装
面向对象特性之一,封装
发布日期:2025-02-05 04:15    点击次数:123

1.什么是面向对象

面向对象(英语:Object Oriented,简称OO)是一种以事物为中心的编程思想。面向对象程序设计(英语:Object-oriented programming,缩写:OOP),是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。面向对象时相对于面向过程而已的(c语言则是一个典型的面向过程的语言),站在面向对象的角度去看问题,你则是对象的动作的指挥者。如果站在面向过程的角度去看问题,你则是动作的执行者。

2.什么是面向过程(C语言)

强调的是功能行为,面向过程”是一种以过程为中心的编程思想。“面向过程”他们不支持丰富的“面向对象”特性(比如继承、多态),就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向过程在这一系列工作的执行中,强调的是工作的执行。

3.面向过程和面向对象的区别

4.面向对象的特征

封装(encapsulation)

继承(inheritance)

多态(polymorphism)

开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程:其实就是在管理和维护对象之间的关系.

5.使用java来描述事物——类

通过Java语言定义一个游戏角色的类,并有名字、职业、攻击力,并且又打招呼和攻击的功能。

属性 一般将一些数值方面的内容,通过属性来进行声明

方法 一般将行为或者功能方面的,通过方法来进行声明

属性和方法 在这里还被称之为一个类的成员,所有又有成员属性,成员方法等称呼

classHero{//将数值相关的内容用属性声明Stringname;//将打招呼的行为用方法声明publicvoiddazhao(){System.out.print("打招呼"); }}

练习

1.定义一个汽车类,并生产出汽车,有颜色,轮胎个数, 有运行的功能。并且实例化调用运行的功能

6.java中的对象

在java里,类是对象的模板,通过class声明出来,再由实例化这样的步骤去完成一个对象的蜕变

使用new关键词,就像new数组一样

Heroh=newHero();//使用属性System.out.print( h.name);//使用方法h.dazhao();

7.局部变量

局部变量: 定义在方法里的变量,作用范围即在方法里。外部无法直接使用

classHero{publicvoidtest(){//局部变量inta=10;System.out.print(a); }}

局部变量仅仅作用的方法内部,声明之后系统不会赋予默认值,必须手动赋值。

8.内存分析

java内存分为栈内存和堆内存

栈内存 : 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。栈内存主要存放的是基本类型类型的数据 如( int, short, long, byte, float, double, boolean, char) 和对象句柄。注意:并没有String基本类型、在栈内存的数据的大小及生存周期是必须确定的、其优点是寄存速度快、栈数据可以共享、缺点是数据固定、不够灵活。

堆内存堆内存用来存放所有new 创建的对象和 数组的数据

intb=10;Stringc="sss";c+="saa";int[] d=newint[5];Stringe=newString("字符");Stringh=e;System.out.println(e);Stringf="字符";Stringg="字符";System.out.println(h==e);

9.访问修饰符

10.封装

我们日常使用的电脑主机,把cpu、内存、主板等等都封装到机箱里面去。假如没有机箱的话的出现什么问题,主机、主板全部都散落在一处,然后开机没有开机按钮,那么需要我们直接操作接跳线才能把电脑开启。这样子的话假如操作不慎的话,会让机器损坏危险,那么假如用机箱封装起来的话,那么就不需要这样子做了。体现了封装的---安全特性。你拿电脑去加内存,可以直接给电脑给维修的人,等他加好内存了之后。你拿到的还是那个机箱,里面发生了怎样子的变化你并不知道。封装的第二个好处-将变化隔离。在机箱里面提供一个开机按钮,而不需要你直接使用跳线开机的话,体现了封装的—便于使用的特性。只要机箱提供了一个开机的功能,然后无论这个机箱拿到哪里去,都可以使用这个开机的功能.体现了封装的---提供重复性的特性。

11.封装的好处

1:隐藏了类的具体实现

2:操作简单

3:提高对象数据的安全性

12.构造方法

我们人出生的时候,有些人一出生之后再起名字的,但是有些人一旦出生就已经起好名字的。那么我们在java里面怎么在对象一旦创建就赋值呢?

1.跟类名一致

2.没有返回类型声明

3.对象初始化被调用

4.如果不写构造方法,默认有一个没有参数的构造方法

一个类里面,除了有一个构造方法,还有一个构造代码块

因为构造方法可以重载,所以在调用该实例化的时候,会出现选择不同构造方法来实现一个实例化,如果有一些内容必须要所有的实例化都要执行,可以放在构造代码块,因为其可以在实例化的时候,必执行。

13.this 关键字

this关键字代表是对象的引用。也就是this在指向一个对象,所指向的对象就是调用该函数的对象引用。实际工作中,存在着构造函数之间的相互调用,但是构造函数不是普通的成员函数,不能通过函数名自己接调用所以sun公司提供this关键字。

this,代表当前对象的引用