第六天
面向对象的概念以及特征
实质上将 "数据" 与 "行为" 的过程, 以类的形式封装起来, 一切以对象为中心的
面向对象的程序设计过程中有两个重要概念:类(class)和对象(也称为实例),其中类是某一批对象的抽象,可以把类理解成某种概念,相当于一种“模板”;对象才是一个具体存在的实体,从这个意义上来看,日常所说的人,其实都是人的实例,而不是人类
- -面向对象的特征
(1) 封装 (2) 继承 (3) 多态
※类的定义
- -使用class修饰类
- -类用于描述某种概念,封装类的静态特征以及动态特征
- -定义属性(成员变量、静态特征)
- -定义动态特征(行为方法)
类与实例,实例对象的创建
- -类是抽象的
- -对象是真实存在的
- -对象的创建是通过类的构造器new出来的
- -引用类型有多少种?无数种
※方法的定义
- -用于封装某种特殊的功能操作,能够进行入参和返回数据
- -组成元素:修饰符、方法返回值,方法名,方法参数,方法体
//方法的语法
/*举例:我给水果店老板50元,老板要给我称50元的水果,然后把水果交给我(买水果)
修饰符 方法的返回值 方法名(方法的参数列表) {
方法体(买水果的过程)
收了我50元
称50元的水果
返回水果
}*/
--有返回值类型(在调用方法后需要返回该类型的数据)
--返回值类型为基本数据类型(8种)
则需要注意,返回数据的类型要比定义的返回值类型小或者相等 比如:方法返回值类型为double 则可以返回比double类型小的数据(long、int......)
--返回值类型为引用类型
则返回该类型的对象或者该子类的对象
--没有返回值类型(使用void来表示当前方法没有返回值类型)
方法签名(方法的id):由方法名和参数列表组成
方法签名和修饰符、返回值类型没有关系。只要方法签名不一致,则不是同一个方法
※构造器的定义
- -作用是创建对象,构造器也是一个特殊的方法 ,因为构造器没有返回值类型
构造器的语法: [修饰符] 类名(参数类别){
方法体
}
如果一个类中没有定义构造器,则系统会默认提供一个无参构造器,但是如果有定义任意一个构造器,则系统不再提供无参构造器,所以通常来说在一类中要一个无参构造器和一个有参构造器
注意:成员变量默认初始化 引用变量默认为null 基本数据类型默认为0 布尔类型默认为false
如何定义一个标准的Java类:POJO\JAVABEAN
//1、私有化属性
//2、公有化的get、set方法 右键---》sources--》generate getters and setters
//3、构造器 有参构造器和无参构造器 右键---》sources--》generate constructor using fields
// 4、toString方法 用于观察对象中的数据 右键---》sources--》generate toString
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结