第九课:面向对象-类和对象

2023-11-04

第九课:面向对象-类和对象
一、面向对象简介
1.数据存储方面:
(1)变量:只能存储一个 如果内容多了 存储起来需要定义n个变量 麻烦
(2)数组:可以存储一组相同数据类型的数据
(3)数据类型相同:
•如果用数组存储一个人的信息/比较丰富的信息的话,不太方便
例如:吃货联盟中存储订单和菜品信息
•纵向数组:我们定义了好多个数组,认为不同数组中,索引相同的数据,都是同一
个信息
•升级:不方便,所以想存储更多元化的数据,我们这阶段学习对象,它可以存储数

(4)长度不可变:未来阶段要学习集合,它可以解决这问题
2.编码方面:(程序的架构)
(1)面向过程开发:想让它干嘛,你就写对应的代码。你在写吃货联盟的时候,需要展示菜品或订单信息,你就将那一堆的代码,放在那儿就可以了(代码无法重用,扩展性差,可维护性差,阅读性差)
(2)面向方法/功能/函数开发:本阶段我们会将以前重复的代码,按功能切分,抽取成
为一个方法 以后直接调用方法即可快速实现功能
(3)面向对象开发(OOP):(陈鑫卖煎饼->升职加薪->赢取高富帅开酒店)

二、掌握类和对象的关系
1.什么是对象?
(1)万物皆对象 你身边的任何一个,你可以叫得出名或者可以单独区分出来的一个实
体,它就是对象
(2)对象:描述客观事物的一个实体,它由一组属性和方法构成
①属性(特征):描述一个对象的信息
例如:姓名、年龄、性别、游戏中的法防、物防、法攻、家族、帮派、称号…
②方法(操作):描述一个对象的行为
例如:猫吃鱼、狗吃肉、奥特曼专打小怪兽
2.什么是类?
(1)类:人类、鸟类、非人类,分类…
•由一组具有相同属性(不是指属性值一样,而是指属性名,例如:学生对象都有
姓名、年龄等属性)和 相同行为 的对象中抽取出来的一个 抽象的概念(分类)
(2)类和对象的关系:类是一个模板,对象是类的一个具体实例
3.程序中的对象和类:
(1)编程:将现实生活中的场景以计算机指令的形式描述出来
(2)Java是一个 不完全 面向对象 的编程语言(因为Java中有基本数据类型 byte short
int long float double boolean char…)
(3)所有的Java程序都是以类为组织单元

三、掌握如何定义类
•类是一个引用数据类型
•一个类并不是必须要有main方法!mian方法是程序的入口!一个程序只要有一个main
方法作为程序入口即可!(大门只有一个!)

•在Eclipse中,Ctrl+Shift+T可以搜索全局搜索类
•注意事项:
⑴一个.java文件中可以定义多个类,但是只能有一个类被public修饰,被public修饰
的类,它的类名和文件名保持一致(在无特殊情况一个.java文件只写一个类)
⑵一个类并不是必须要有main方法,同样一个类也不是必须要有一堆属性和一堆方
法,这些属性和方法到时候是根据我们的需求决定
⑶定义类的信息的时候也要注意好对其和规范

四、掌握如何定义对象
public class Test {

public static void main(String[] args) {
	
	// 创建对象
	// Scanner scanner = new Scanner(System.in);
	// 创建学生对象
	Student stu = new Student();
	// 创建老师对象
	Teacher teacher = new Teacher();
	
	// 给对象的属性赋值(存储一些信息)
	stu.name = "布俊彪";
	stu.age = 18;
	stu.id = 700;
	stu.weight = 180;
	
	// 给老师信息赋值
	teacher.name = "邢老师";
	teacher.major = "COT";
	teacher.gender = '女';
	teacher.teachAge = 30;
	
	// 使用属性值
	System.out.println(teacher.name);
	// 调用方法
	stu.printInfo();
	stu.study();
	System.out.println("----------------------");
	teacher.printInfo();
	
}

}

五、熟悉基本的方法定义(下一章才是重点)
1.方法:就是一个代码的组合,是一个功能
//通过用户名和密码获取用户信息
getUserByUsernameAndPassword()
2.初识方法的基本语法:
权限修饰符 返回值类型 方法名(){
// 方法体
}
•今天我们学习的方法 没有返回值类型,没有返回值类型的话 定义为void(空、无效
的)
3.方法调用的注意事项:
(1)同一个类中(不包含static情况),调用方法只需要直接写 方法名(); 即可 同一个
类中,你都看到它了,调用一下很简单
(2)不同的类中(不包含static情况),方法间相互调用,需要先创建对象,然后 对象
名.方法名(); 不同类中,你不创建对象,我怎么知道你是谁的方法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第九课:面向对象-类和对象 的相关文章

  • Java 接入微信支付API V3 接口开发案例

    关于API v3 为了在保证支付安全的前提下 带给商户简单 一致且易用的开发体验 我们推出了全新的微信支付API v3 相较于之前的微信支付API 主要区别是 遵循统一的REST的设计风格 使用JSON作为数据交互的格式 不再使用XML 使
  • C02_02 Python笔记备份 变量

    author Liu Shao Ji encoding utf 8 字符串赋值到变量 再打变量打印出来 message Hello Python world print message 尝试在Hello world py中使用一个变量 在这
  • 如何在微信小程序中生成二维码:一个最简单的案例就让你明白

    使用weapp qrcode js 在 微信小程序 中 快速生成二维码 一 效果 二 具体步骤 代码 下载weapp qrcode代码 然后 将 dist 目录下的weapp qrcode esm js 复制到项目目录中 这里是utils目
  • 泰勒公式的展开细节解析(转载)

    转载自 https blog csdn net dog250 article details 76697167 上周写完了 三体 读后思考 泰勒展开 维度打击 黑暗森林 后收到一些邮件 进一步思考了关于泰勒展开的意义 也许我掌握的那些网络技
  • [4G&5G专题-5]:RRU 全面了解什么是4G+5G RF动态频谱共享?

    前言 建议在了解动态频谱DSS之前 前先了解 5G专题 4 RRU 全面了解什么是4G 5G RF静态射频共享 4G 5G专题 4 RRU 全面了解什么是4G 5G RF静态射频共享 文火冰糖的硅基工坊的博客 CSDN博客 rru设计原理与
  • 安卓在ecplise的问题

    Description Resource Path Location Type AndroidManifest xml file missing This is build issue Go to Menu in eclipse Proje
  • 【编程测试题】头条校招

    题目描述 头条的2017校招开始了 为了这次校招 我们组织了一个规模宏大的出题团队 每个出题人都出了一些有趣的题目 而我们现在想把这些题目组合成若干场考试出来 在选题之前 我们对题目进行了盲审 并定出了每道题的难度系统 一场考试包含3道开放
  • 用python实现简易控制台五子棋小游戏

    finish False 游戏是否结束 flagNum 1 当前下棋者标记 flagch 当前下棋者棋子 x 0 当前棋子的横坐标 y 0 当前棋子的纵坐标 print 033 1 37 41m 简易五子棋游戏 控制台版 033 0m 棋盘
  • python生成器的实现及原理

    1 迭代 一个接一个读取列表中的值 这个过程叫迭代 案例 mylist1 1 2 3 for v in mylist1 print v end print mylist2 x x for x in range 5 for v in myli
  • STM32F103(六)——定时器中断

    定时器原理与例程 1 定时器基本原理 1 1 三种定时器的区别 1 2 通用定时器的主要特点 1 3 通用定时器的3种计数器模式 1 4 通用定时器工作过程 1 5 定时器的内部时钟配置 2 定时器中断实验 2 1 常见库函数 2 2 定时
  • Notepad++正则命令全解 -- 小黑超细详解

    notepad 为文本编辑器工具 是windows的一款免费开源工具 功能有很多吧 还可以运行脚本 倒是也没有具体去研究 不过用起来挺方便的 记录一下平常使用会用到的吧 下载 Notepad GitHub 目录 举一个栗子 简单使用正则 正
  • Qt中多个单选按钮信号连接到同一个槽函数

    当多个类似信号需要连接到同一个槽函数时 在槽函数内需要对信号的来源进行判断 这里主要是采用sender 函数 此函数会返回信号来源的方向 让我们来看看效果 接下来是具体的代码 首先添加3个RadioButton 并且连接到同一个槽函数 QS
  • 软件工程——第13章软件项目管理知识点整理(完结)

    本专栏是博主个人笔记 主要目的是利用碎片化的时间来记忆软工知识点 特此声明 文章目录 1 管理的定义 2 软件项目管理地位 重要性
  • 【自学开发之旅】Flask-restful-Jinjia页面编写template-回顾(五)

    restful是web编程里重要的概念 一种接口规范也是一种接口设计风格 设计接口 要考虑 数据返回 接收数据的方式 url 方法 统一风格 rest 表现层状态转移 web 每一类数据 资源 资源通过http的动作来实现状态转移 GET
  • iframe 相互获取值

    链接 https www cnblogs com henuyuxiang p 7427155 html
  • Hp 笔记本开机不进入 grub 引导 ubuntu与windows选择界面

    我在预装了 windows 的机器上安装 ubuntu 每次想启动 ubuntu 时都需要按下 F9 才能进入引导选择界面 使用 ubuntu 的 efibootmgr 和 boot repair 等工具都不起作用 只是改变了 ubuntu
  • git常规操作

    场景一 从项目A的dev分支复制到项目B的dev分支上 1 将项目B clone 到本地 git clone b master 项目B的git地址 2 将项目A的git地址 添加至本地的remote git remote add upstr
  • 每月摘录--2023年7月

    企业 证监会最新消息 对蚂蚁集团及旗下机构处以罚款 含没收违法所得 71 23 亿元 并要求蚂蚁集团关停违规开展的 相互宝 业务 并依法补偿消费者利益 极客公园 7 月 7 日消息 据央行公布的行政处罚信息显示 今日 财付通支付科技有限公司
  • CoordinatorLayout的简单使用,android开发app的详细过程

    效果展示 代码展示
  • 军工重组

    http bar stockstar com p8448439 1 html 下周可千万别洗出来 2660到现在用了没多久就临近3000点 只要地产一起来马上就到3600了 地产现在不涨并不是不想涨 而是只要地产一起来马上就到3600 多数

随机推荐

  • VSCode安装教程最新,包教包会!

    一 VScode下载 1 进入VScode官网 官网地址 https code visualstudio com 点击 Download 进入下载 不要点击 Download for Windows Stable Build 否则它会自动帮
  • 编译Linux内核生成Image和System.map文件

    p span style font family 华文楷体 font size 12pt background color rgb 255 255 255 一直想琢磨琢磨Linux内核 便开始看 Linux内核完全注释 可是发现一头雾水 所
  • 用java实现计算器四则运算以及混合运算

    贴代码 本例测试是基于junit eclipse可安装对应 的java包 我用的是idea 添加插件即可 import java io BufferedReader import java io IOException import jav
  • eclipse 配置 C++

    前言 最近有项目需要c 但是c 自从离校那时就没碰过了 所以要重新学习下 因为曾经为了做自己的博客网站 学了java 下载了eclipse 也是在eclipse上写的博客网站的 所以对eclipse还是相对熟悉的 而且平时写代码都是用vim
  • android手势识别opencv,较为成熟的安卓项目--人面识别,手势识别向

    一 人脸识别 1 目标检测 目标追踪 人脸检测 人脸识别 效果 2 Android下使用OpenCV实现人脸检测 效果 3 人脸标识 效果 4 人脸检测 github https github com VernonVan Face 效果 主
  • Jmeter 中随机函数__Random 的使用

    前段时间 在做接口测试时 经常遇到接口参数需要输入不同的内容或者手机号码等 不允许输入重复的参数内容 比如不同的手机号码 那此时可以通过Random 随机函数来解决此问题 以前的文章有介绍过使用time函数来实现 详见 http blog
  • RuntimeError: Error(s) in loading state_dict for Net(让人心累的错误)

    RuntimeError Error s in loading state dict for Net size mismatch for classifier 4 weight xxxxxx 后面一堆错误 这个是model py 千万千万别
  • 【DL】第 6 章:语言建模

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 小程序跳转:云开发之h5跳小程序

    目录 前言 前提条件 注意 实现步骤 更多前端知识 前言 此方案是我在实际开发中的全部过程 因为我也是第一次做小程序的云开发 一开始根据这个文档就遇到了一些坑 所以在这里我做了更详细的步骤分解 非个人主体并且已认证的 微信认证 小程序 使用
  • tictoc例子理解10-12

    tictoc10 12 tictoc 10 几个模块连接 发送消息直到模块3收到消息 tictoc 11 新增信道定义 tictoc 12 双向连接信息简化定义 tictoc 10 几个模块连接 发送消息直到模块3收到消息 让我们用几个 n
  • 【机器学习】 Matlab 实现多种分类器(感知机、KNN、Logistic、最大熵、决策树、朴素贝叶斯)的二分类

    写在之前 这是本人的统计学习方法作业之一 老师要求一定要用Matlab编程 本人在此之前未曾大量使用Matlab 因此某些算法可能因为不知道函数或者包而走了弯路 代码高亮查了一下 没找到Matlab的所以用了C的 部分算法参考了某些算法的p
  • github中fork分支和pullrequest的最佳实践

    github中fork分支和pullrequest的最佳实践 github中fork分支和pullrequest的最佳实践 最近在参与一个国外的github开源项目 遇到自己fork了源库 一段时间之后 源库已经更新了一些内容 这样 自己f
  • 【uni-app】使用uni-app实现简单的登录注册功能

    文章目录 前言 一 页面布局 二 注册页面 1 注册接口使用 2 注册成功提示 3 注册成功页面跳转 4 完整代码 三 登录页面 1 登录接口使用 2 本地存储使用 3 完整代码 总结 前言 大家好 今天和大家分享一下如何在uni app中
  • Vue3(快速上手)

    Vue2 与 Vue3 的区别 数据双向数据绑定 Vue2 0 数据绑定 是通过 Object defineProperty 来劫持对象属性的 geter 和 seter 操作 当数据发生改变发出通知 Object defineProper
  • 简单工厂模式、工厂方法模式和抽象工厂模式之间的异同

    注 纯属个人理解 如有错误请大家指正 相同之处 AbstractProduct ap Factroy createClass 1 都是利用工厂类 工厂子类 来创建对应的类对abastractProduct进行实例化操作 不同之处 简单工厂模
  • 循环-13. 求特殊方程的正整数解(15)

    本题要求对任意给定的正整数N 求方程X2 Y2 N的全部正整数解 输入格式 输入在一行中给出正整数N lt 10000 输出格式 输出方程X2 Y2 N的全部正整数解 其中X lt Y 每组解占1行 两数字间以1空格分隔 按X的递增顺序输出
  • Comparable接口对list的多条件排序

    版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net xiaoyanghapi article details 52496325 普通的类要实现排序 必须实现Comparable接口 并重写Compar
  • python生成exe文件运行闪退解决方法

    python生成exe文件运行闪退解决方法 使用pyinstaller生成 exe文件 pyinstaller F filename py 用python写了一个程序 在python下运行是正常的 但是生成exe文件后运行闪退 我当时怀疑是
  • 一文讲透缓存方案及常见问题——进阶篇

    前文有提到 缓存其中一种实施方式是利用硬件的读取速度的差异来做缓存加速 但是更高速的存储介质往往受限于成本 价格贵 或硬件限制 CPU缓存物理大小 其容量相较硬盘要小很多 再加上根据二八原则 热点数据可认为只占20 因此无论是处于实用还是成
  • 第九课:面向对象-类和对象

    第九课 面向对象 类和对象 一 面向对象简介 1 数据存储方面 1 变量 只能存储一个 如果内容多了 存储起来需要定义n个变量 麻烦 2 数组 可以存储一组相同数据类型的数据 3 数据类型相同 如果用数组存储一个人的信息 比较丰富的信息的话