2024-04-10

面向对象编程

一、面向过程和面向对象的区别

        面向过程(Procedure Oriented)是一种以过程为中心的编程思想,注重于只针对某一个特定问题,它关注的是将问题分解成一个个详细的步骤,并通过函数实现每一个步骤,然后依次调用这些函数来解决问题。常见的面向过程的语言有C语言。

        面向对象编程(Object-Oriented Programming,简称OOP)是一种计算机编程模型,面向对象更注重于解决某一大类问题,只需在解决某些特定问题时赋予特定参数。它围绕数据或对象来组织软件设计,而不是围绕功能和逻辑。在面向对象的编程中,更强调对象与对象之间的交互,对象的属性和方法都被封装在对象内部。面向对象编程具有封装性、继承性和多态性三大特性。常见的面向对象的语言有Java,Python,PHP等。

二、类和对象

        类是一种抽象的广泛的一个统称,只规定了其中成员拥有的属性和行为,并不对其具体描述,对象则是类似于继承了类的属性和行为,并且对自身的属性和行为有具体描述,是单个的具体的个体。

        ①. 是一类具有相同特性的事物的抽象描述,是一组相关属性行为的集合

                属性:就是该事物的状态信息。

                行为:就是在你这个程序中,该状态信息要做什么操作,基于事物的状态能做什么。

                例如学生是一个类,是一个统称,学生有姓名,年龄,有上学的行为,但不对具体的细节做描述。

        ②. 对象是一类事物的一个具体个体。即对象是类的一个实例,必然具备该类事物的属性和行为。

                例如张三是一个学生,今年18岁,每天上学去学习java,张三继承了学生这个类的姓名、年龄属性和学习java的行为,并且对属性和行为有具体描述,张三即为一个对象。

世间万物皆有自己具体的属性和行为,所以世间万物皆对象。

三、如何定义类

        ①. 类的定义格式 

                关键字:class(小写)

                      【修饰符】 class 类名{

                       }

                例:public class Student{
                                    String name;

                                    int  age;
                        }

                此时定义了一个学生类,拥有姓名和年龄两个属性。

        ②. 对象的创建

                关键字:new

                类名 对象名 = new 类名();

                例:Student stu = new Student();

                        stu.name = "张三";

                        stu.age = 18;

                        此时定义了一个stu对象,此对象的名字为张三,年龄为18。

四、包(Package)

        ①. 包的作用

                (1)可以避免类重名:有了包之后,类的全名称就变为:包.类名

                (2)可以控制某些类型或成员的可见范围,如果某个类型或者成员的权限修饰缺省的话,那么就仅限于本包使用。

                (3)分类组织管理众多的类。

  例如:​​​​​

  • java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和Thread等,提供常用功能

  • java.net----包含执行与网络相关的操作的类和接口。

  • java.util----包含一些实用工具类,如集合框架类、日期时间、数组工具类Arrays,文本扫描仪Scanner,随机值产生工具Random。

       ②. 如何声明包

                关键字:package

                package 包名;

        ③. 如何跨包使用类

                只有public的类才能被跨包使用

                (1)使用类型的全名称

                       例如:  java.util.Scanner input = new java.util.Scanner(System.in);

                (2)使用import 语句之后,代码中使用简名称

                        例如:import 包.类名;
                                   import 包.*;

五、成员变量

        如何声明成员变量

                【修饰符】 class 类名{
                    【修饰符】 数据类型  成员变量名; 
                  }

        使用static修饰符可以将成员变量分为两大类,静态变量和非静态变量。其中静态变量又称为类变量,非静态变量又称为实例变量或者属性。

        访问实例变量时必须使用 对象.属性 或 对象.方法,并且在访问前需要先定义对象。

        访问类变量时可以直接使用 类名.属性 或 类名.方法,无需定义,但必须使用static修饰。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值