tensorflow typeAliases SCI css datagridview jtable vue手册 vue实现原理 react脚手架搭建 jquery触发change事件 idea大小写转换快捷键 linux自动获取ip git显示所有远程分支 git下载代码到本地命令 excel带格式复制粘贴 python正则表达式 mysql 选择数据库 python输入输出 python使用正则表达式 python的re模块 python函数内定义函数 java操作mysql java的正则表达式 java安装环境 java语言代码大全 java获取当前年月 java目录 java获取 linux入门基础 网页游戏代码 蒙文字体 脚本之家官网 超星网课助手 视频加文字用什么软件 苍灵世界 画图怎么添加文字 php取整 python列表求和 视频添加水印 彻底卸载mysql
当前位置: 首页 > 学习教程  > 编程语言

OOP学习Day01

2020/12/5 10:25:10 文章标签:

OOP学习笔记 文章目录OOP学习笔记前言一、定义类和对象1.1、类和对象的关系1.2、定义类 和对象1.2、步骤1.3、注意事项二、面向对象2.1、面向过程22、面向对象(OOP)2.3、面向对象和面向过程的区别2.4、面向对象的特点(抽象)2.5、面…

OOP学习笔记

文章目录

    • OOP学习笔记
  • 前言
  • 一、定义类和对象
    • 1.1、类和对象的关系
    • 1.2、定义类 和对象
    • 1.2、步骤
    • 1.3、注意事项
  • 二、面向对象
    • 2.1、面向过程
    • 22、面向对象(OOP)
    • 2.3、面向对象和面向过程的区别
    • 2.4、面向对象的特点(抽象)
    • 2.5、面向对象的三大特征
  • 三、对象的方法
    • 3.1、语法
    • 3.2、this关键字
  • 四、构造方法的作用
    • 4.1、 什么是构造方法
    • 4.2、格式:
    • 4.3、**构造方法的作用**
    • 4.4、注意事项(8点)
  • 五、static关键字
    • 5.1、static关键字修饰成员变量
    • 5.2、static 修饰成员方法
    • 5.3、注意事项
    • 5.4、静态代码块


前言

OOP:面向对象的相关学习,比如,oop概念,

一、定义类和对象

1.1、类和对象的关系

  1. 什么是类:就是属性和方法的集合(使用事物的属性特征和行为特征来描述该类事物)
  2. 什么是对象:对象是一类事物的具体体现,它是类的一个实例,对象必然具备该类的属性
  3. 类和对象的关系
 - 类是对一类事物的描述,是抽象的 
 - 对象是一类事物的实例,是具体的
 -  类是对象的模板,对象是类的实例

1.2、定义类 和对象

1.2、步骤

  1. 编写属性(特征):姓名,性别,年龄,学号
  2. 编写方法(行为):学习,吃饭

1.3、注意事项

  1. 类的属性是成员变量
  2. 类的方法是成员方法,不加static 关键字

二、面向对象

2.1、面向过程

侧重的过程,它是一种线性思维
步骤简单清晰,第一步要做什么,第二步要做什么…

22、面向对象(OOP)

面向对象:它是Java的核心思想,它是一种分类的思维模式
再处理问题之前,将这个问题分成若干个的小部分(分类),然后对这些分类进行单独的思考
最终还是对这个分类下的细节进行面向过程的处理

**面向对象编程 OOP:**本质是:就是以类的方式组织代码,以对象的方式组织(封装)数据

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

2.4、面向对象的特点(抽象)

抽象:指的是忽略主题中与当前目标无关的方面,以充分的注意 与当前目标有关的方面(抽出我m9们需要的东西,其余内容不用管)
简单理解:(就是把需要的相同部·分抽离出来,归纳为一个类)

2.5、面向对象的三大特征

  1. 封装:是指将类的信息隐藏在类的内部,不予许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
  2. 继承:是指子类和父类之间,子类拥有父类的一切非私有的属性的方法
  3. 多态:同一种事物的不同表现形式

三、对象的方法

3.1、语法

public 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...{
	//方法体
	return 数据;
}

3.2、this关键字

定义:当方法的局部变量 和 类的成员变量重名的时候,会根据【就近原则】,优先使用局部变量,
如果需要访问本类中的成员变量:可以使用this关键字
格式:this.成员变量名
注意:通过谁调用方法,this就指向谁(谁就是this)

四、构造方法的作用

4.1、 什么是构造方法

是专门用来创建对象的方法,当我们通过new 关键在来创建对象的时候,其实就是在调用构造函数

4.2、格式:

public 类名称(参数类型 参数名称1,参数类型 参数名称2…){ // 方法体}

4.3、构造方法的作用

  1. 使用new关键字,本质上就是调用构造方法(构造器)、
  2. 用来初始化值

4.4、注意事项(8点)

  • 构造方法的名称必须和类名【完全一致】

  • 构造方法不写返回值类型,void也不要写

  • 构造方法不能return一个具体的返回值

  • 如果没有写任何构造方法,编译器会默认赠送一个构造方法

    赠送的构造方法:没有参数、方法体什么事情都没有做

  • 一旦我们编写了至少一个构造方法,编译器赠送的构造方法就消失了

  • 构造方法也可以重载(方法名相同,参数列表不同)

  • 重载构造方法后,想要使用无参数构造,需要显示一个定义的无参构造

  • 快捷键 alt + insert

五、static关键字

5.1、static关键字修饰成员变量

  • 如果一个变量使用了static 关键字修饰,那么这个变量不在属于对象自己,多个对象共享一个数据
  • static 修饰的变量 叫做 静态变量 也叫类变量 或者类属性

5.2、static 修饰成员方法

一旦使用static 修饰了成员方法,叫静态方法也叫类方法 ,那么这个方法就成为了静态方法,静态方法不属于对象,而是属于类

如果没有static 关键字,必须先创建对象,才能通过【对象名.方法名】的方式调用

如果有static 关键字,不需要创建对象,直接通过【类名.方法名】的方式调用

不管是成员方法还是成员变量,通过static 关键字修饰以后,都不推荐使用对象名调用,推荐:【类名.静态变量】【类名.静态方法()】

5.3、注意事项

  • 静态的不能直接访问非静态
  • 原因:因为内存中是【先】加载静态方法内容,【后】加载非静态内容
  • 静态方法中不能使用this
  • 原因:this代表的是当前对象,谁调用方法就指向谁,而静态方法属于类

5.4、静态代码块

定义:static 关键字修饰代码块就是静态代码块
特点:当第一次使用到本类时,静态代码块会执行一次,而且只执行唯一的一次

​ 静态内容总是优先与非静态的,所以静态代码块比构造方法优先执行


本文链接: http://www.dtmao.cc/news_show_450213.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?