从网上下了一个Java的视频课件,以下的内容是根据所听的课程做的笔记。
1、面向对象——是一种思想,一种解决问题的模式。也就是说,不管我们遇见什么问题,都需要从面向对象的角度出发,用面向对象的思想来对问题进行分析,建模,直至解决问题。
2、怎样用“面向对象”的思想来解决问题?
用“面向对象”的思想解决问题需要三步:
1)OOA——面向对象分析(“对象”具有标识、属性和行为三个方面。)
2)OOD——面向对象设计
3)OOP——面向对象编程
/*对学生类进行分析,抽象(这句话的意思就是要创建一个学生类)*/
从面向对象的思想出发:
第一步:OOA 在这里面只有学生这个对象,所以:
标识:学生(对象)
属性:学号
姓名
性别
专业
……
行为:上课
吃饭
走路
跑步(假设我不需要这个行为,那么就把它抽象出去)
……
注:“抽象”——取其精华,去其糟粕。即:要抽象出对我们有用的属性和行为。
第二步:OOD
标识:Student
属性:stuNO:String
stuName:String
stuSex:int (0表示女,1表示男)
dept:String
行为:goSchool():void
goEat():void
goRun():void
第三步:OOP
class Student{
String stuNO;
String stuName;
int stuSex;
String dept;
void goSchool(){ }
void goEat() { }
void goRun(){ }
}
至此,我们完成了用面向对象的思维模式来解决问题。
/*问题:写一个程序,模仿自动取款机存钱、取钱的过程。*/
OOA:标识:自动取款机(ATM)——开户(需要有银行卡才能存取款,所以真正的对象是卡)
属性:账号accountid
账户余额sumMoney
行为:存钱
取钱
查询账户余额(题目中没要求,所以不需要)
OOD:
标识:Account
属性:账号accountid:String
余额sumMoney:double
行为:
saveMoney(int money):void
drawMoney(int money):int
OOP:
class Account{
String accountid;
double sumMoney;
void saveMoney(int money){
/*功能就是账户余额增加*/
sumMoney+= money;
}
int drawMoney(int money){
/*功能就是账户余额减少*/
sumMoney-=money;
return money;
}
}
3、什么是对象?
对象具有标识、属性和行为;并且是唯一的。是类的一个实例(也就是特例)
4、什么是类?
类具有标识、属性和行为。是一类具有相同属性和行为的对象的抽象。
5、类和对象的关系
1)类是对象的抽象
2)对象是类的一个实例
创建类的一个实例的方式为:
类名 对象名 = new 类名();
6、类里面包含的成员?
变量:(也就是属性)
方法:(也就是行为)
对变量的操作必须放在方法中进行,除了对变量进行初始化可以放在定义变量时进行以外。
7、变量
1)成员变量——在类体内声明的变量,称之为成员变量
a、常量——用final关键字修饰的成员变量,称之为常量。
在声明常量时,必须对其进行初始化;且初始化后,不能被修改
如 final double PI=3.14159;常量在系统内不占用内存。
b、实例变量(非静态变量)——没有被关键字static、final修饰的成员变量,
称之为实例变量。
实例变量只能通过对象来访问。
c、 类变量(静态变量)——用关键字static修饰的成员变量,称之为类变量(静
态变量)。
类变量既可以通过对象来访问,也可以通过类名来访问。
实例变量和类变量的区别在于:类变量是共享的,通过每一个对象都可以更改其值,而实例变量则是针对每一对象的,每一个对象只能改变自己所对应的实例变量值。
2)局部变量——在方法体内声明的变量,称之为局部变量
8、变量的作用域
成员变量的作用域——整个类体内,位置可以随意放置。
局部变量的作用域——在方法体内声明的变量,其作用域从创建此变量开始,直到此方法体结束。其他情况下声明的变量从局部变量创建并开始到本层的}结束。
分享到:
相关推荐
Java 基础 第2阶段:面向对象编程——尚硅谷学习笔记(含面试题) 2023年
JAVA 的面向对象编程——课堂笔记,挺经典的。里面打包了pdf和txt两种版本,共33页~
000000_【课程介绍 —— 写在前面的话】_Java学习概述笔记.pdf 010101_【第1章:JAVA概述及开发环境搭建】_JAVA发展概述笔记.pdf 010102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建笔记.pdf 010201_【第2...
我的博文配套《Java学习笔记第15期——Java 面向对象 Part1》笔记文件 博文地址:https://blog.csdn.net/lbwnbnbnbn/article/details/115967938
学习建议:算法和数据结构的内容,用最简单的C语言描述会比较清楚,没有必要使用C++和Java的面向对象描述。面向对象编程在这里没啥用处,反而冲淡了学习主题。初学者,先学习Weiss的《数据结构与算法分析 C语言描述...
很多人觉得它应该像C或者C++,但事实上它更像是java的一个clone,所以作为入门,读一下清华大学出版社出版的《Java 语言与面向对象程序设计》可能会对你有所帮助。本文假定你具备一切学习此语言所需的知识,没有也不...
、、基本概念、面向对象、基本数据类型与运算、字符串与数组、异常处理、Object 通用方法 数据结构 & 源码分析:ArrayList、Vector、LinkedList、HashMap、ConcurrentHashMap、HashSet、LinkedHashSet and ...
·加强对Python对象、内存模型和Python面向对象特性的深入理解; ·构建更有效的Web、CGI、互联网、网络和其他客户端/服务器架构应用程序及软件; ·学习如何使用Python中的Tkinter和其他工具来开发自己的GUI应用...
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...
pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...