当前位置: 首页 > news >正文

张店免费做网站新闻头条免费下载安装

张店免费做网站,新闻头条免费下载安装,中国软件公司,注册公司步骤学习目标: 一、目标 面向对象思想类和对象对象的创建和使用属性和方法封装 开始学习: 二、编程思想 2.1 什么是编程思想 做人有做人的原则,编程也有编程的原则。这些编程的原则,就叫做编程思想。 2.2 面向过程和面向对象 二…

学习目标:

一、目标

  • 面向对象思想
  • 类和对象
  • 对象的创建和使用
  • 属性和方法
  • 封装

开始学习:

二、编程思想

2.1 什么是编程思想

做人有做人的原则,编程也有编程的原则。这些编程的原则,就叫做编程思想。

2.2 面向过程和面向对象

二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做

图分析:人把大象装进冰箱

2.3 面向过程(Procedure Oriented)编程思想

2.3.1面向过程思想

过程为中心的编程思想 ​ 以什么正在发生为主要目标进行编程

2.3.2 面向过程实现

分析出解决问题所需要的每一个步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用

2.3. 3 应用场景

适合于功能简单、业务逻辑单一的场景,优势比较明显,效率较高

2.3.4 面向过程特点

参与每一个步骤 ​ 参与每一个实现 ​ 参与每一个细节

2.3.5 面向过程代表语言

fortan语言、C语言

2.4 面向对象介绍

2.4.1 面向对象(Object Oriented,OO)编程思想

对象为核心编程思想,对象是指现实世界中所有事物。强调对象所具备的功能,需求通过对象来实现。 ​ 面向对象思想分类: ​ 面向对象分析(Object Oriented Analysis)简称:OOA ​ 面向对象设计(Object Oriented Design)简称:OOD ​ 面向对象开发(Object Oriented Programming)简称:OOP

2.4.2 面向对象的三大特征

  • 封装(Encapsulation)

  • 继承(Inheritance)

  • 多态(Polymorphism)

2.4.3 案例分析

案例一:吃饭

自己做:打开地图搜索菜市场位置或找个大爷大妈问下菜市场在哪里->去菜市场->选菜->付款->拧菜回家->摘菜->洗菜->切菜->配菜—>炒菜
去餐馆:老板,我要吃饭,老板说你吃啥,我说来个夫妻肺片,过了一会儿夫妻肺片就做好了
O2O外卖:打开手机找到外卖app下单即可,外卖小哥回去商家取餐送上门。

案例二:洗衣服

自己洗:准备工具(盆、桶、洗衣粉、搓衣板)->加水(考虑水温)->衣服放进去(浸泡、分颜色防止染色)->......->拧干水分->找地方用晾衣架晾起来
洗衣机洗:衣服直接扔进洗衣机->加入洗衣粉->设定好洗衣模式->等待洗衣机洗完后通知声音->取出衣服晾起来
干洗店洗:找到干洗店->把衣服给到美丽的老板娘->等待通知->取回衣服
O2O互联网洗衣:打开app下单->抠脚大汉上门服务取衣服->洗完以后以后再送上门

2.4.5 面向对象思想总结

简单化:让复杂的事情简单化 ​ 角色转变:执行者 —> 指挥者 ​ 人性化:更加符合人类习惯思想

2.5 什么是编程

编程的目的是将现实世界的事物实现信息化,如:超市收银软件

做记号时代 -->  做算术时代 -->  使用纸和笔时代  -->  使用算盘时代   --> 超市收银机器

编程是人类发明的,编程思想源于现实世界,现实世界中所看到的的事物比较具体,编程将现实世界中的事物抽取到虚拟世界通过一种更加抽象方式展现;

先理解清楚现实世界的事物,实现信息化的过程就是软件开发

2.6 面向对象分析方法分析问题的思路和步骤

① 根据问题需要,选择问题所针对的现实世界中的实体

② 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类

③ 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构

④ 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具

三、类和对象

3.1 类

3.1.1 类的概述

编程都是为了将现实世界事物实现信息化,在Java语言中是以类(class)为单位描述现实世界的事物,将现实世界事物的属性和行为抽取到Java类中,可以理解为类是现实世界事物的抽象化

3.1.2 类如何描述现实世界的事物

JAVA类现实世界事物
成员变量属性
成员方法行为

成员变量:定义在类中方法外,描述现实世界某一类事物的属性。 成员方法:用于描述现实世界事物中的行为进行封装。

3.1.3 类的定义

格式:

修饰符 class 类名 {// 成员变量// 成员方法
}

举例:用类描述学生类

public class Student {String name; // 学生姓名int age; // 学生年龄String gender; // 学生性别// 吃饭行为public void eat() {System.out.println("我会吃饭");}// 学习行为public void study() {System.out.println("我会学习");}// 睡觉行为public void sleep() {System.out.println("我会睡觉");}
}

3.2 对象

3.2.1 对象的概述

对象是实际存在的该类事物的每个个体,因而也被称为实例。万事万物皆对象。

3.2.2 对象和类之间的关系

理解:

  • 类 = 抽象概念的人 对象 = 实实在在某个人

  • 类是描述现实世界事物的一组相关属性和行为的集合,对象是该类事物中的某一个具体对象

  • 类只能存在想象阶段,对象比较具体,可以操作阶段

3.2.3 对象的创建和使用

3.2.3.1 对象创建

格式:

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

举例:

Person person = new Person();
3.2.3.2 使用对象

操作成员变量 赋值:

对象名.变量名 = 赋值;
person.age = 10;

取值:

数据类型 变量名 = 对象名.变量名;
int age = person.age;

直接输出:

输出语句(对象名.变量名);
System.out.println(person.age);

操作成员方法

调用方法:

对象名.方法名();
person.sleep();

3.3 成员变量的初始化

类型数据类型默认初始化值
基本类型(整数)byte、short、int、long0
基本类型(浮点数)float、double0.0
基本类型(字符型)char'\u0000'
基本类型(布尔型)booleanfalse
引用类型数组、类、接口null

3.4 类的访问机制

在一个类中的访问机制:类中的方法可以直接访问类中的成员变量(static方法访问非static成员变量,编译不通过)

不在一个类中的访问机制:先创建要访问类的对象,再用对象访问类中的成员

3.5 练习

1、分析汽车的属性和行为,创建汽车对象和操作汽车对象 2、分析手机的属性和行为,创建手机对象和操作手机对象 3、分析狗的属性和行为,创建狗对象和操作狗对象

3.6 对象运行时内存图

Person类

class Person { // 人类String name;// 姓名int age = 10;// 年龄boolean isMale;// 是否男性
}

一个对象内存图

两个对象内存图

三个对象内存图(不同的引用指向同一个对象)

3.7 匿名对象

匿名对象即没有名字的对象

举例:

//以下是两个对象分别调用了sleep和study方法
new Person().sleep();
new Person().study();
//以下是同一个对象调用了sleep又调用了study方法
Person p = new Person();
p.study();
p.sleep();

使用场景:

① 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象

new 类名().sleep();

② 将匿名对象作为实参传递给一个方法调用

方法名(new 类名());

四、属性

4.1 成员变量(属性)

在方法体外,类体内声明的变量称为成员变量

4.2 局部变量

在方法上或方法体内部声明的变量称为局部变量

4.3 成员变量和局部变量的区别

成员变量局部变量
声明位置直接声明在类中方法外方法形参或内部、代码块内、构造器内等
修饰符private、public、static、final等不能用权限修饰符修饰,可以用final修饰
初始化值有默认初始化值没有默认初始化值,必须先赋值,方可使用
内存加载位置堆内存空间 或 方法区内存空间静态域内栈内存空间
生命周期随着类的加载或对象的存在而存在,随类的销毁或对象的销毁而销毁局部变量是随着方法的调用而存在,方法的调用完毕而消失
使用范围在整个类中都可以使用只能在当前代码块的范围使用

注:

static关键字修饰的内容随着类的加载而加载,如果定义了一个static修饰的变量会在类加载的时候就已经存在。static后面详细讲解

五、this关键字

5.1 什么是this

this表示当前对象引用,类中的成员被哪个对象调用,this就代表调用的这个对象。

5.2 this关键字应用

1.解决局部变量隐藏成员变量时的问题 当成员变量和局部变量同名时,就近原则优先使用局部变量。如果要明确调用的是成员变量,就在变量前面加上this即可。this.变量名。

class Student{int age = 10;public void show(){int age = 20;System.out.println("局部变量age的值:"+age);System.out.println("成员变量age的值:"+this.age);}
}

2.调用本类中的其他构造方法 构造方法部分讲解(后面讲解)

六、封装

6.1 什么是封装

封装的原则:类中不想对外展示的属性和行为,将其隐藏起来,额外提供公共的访问方式。

6.2 为什么要封装

6.2.1 保证安全性

使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。封装防止了外部随意访问,增加了安全屏障。

6.2.2 隐藏复杂性

隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的来说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装的设计思想。

6.3 信息的封装和隐藏

Java中通过将数据声明为私有的(private),再提供公共的(public)方法,getXxx()和setXxx()实现对该属性的操作

6.3.1 private关键字

什么是权限修饰符

权限修饰符可以修饰类、类中成员的权限做特定的限制,当被访问时必须满足特定的要求。

private关键字介绍

private是java中最小的权限修饰符,与public、默认、protected同类。 ​ 可以修饰类中的成员(成员变量、成员方法、构造方法、内部类)等。 ​ 被private关键字修饰的成员限定只能在本类中访问。

private关键字应用 修饰成员变量

格式:private 数据类型  变量名;
例:private int age;

修饰成员方法

格式:private 返回值类型 方法名(){}
例:private void show(){}

6.4 封装实现

封装:private关键字修饰隐藏修饰要隐藏的属性和方法。 访问: 成员变量:公共setXxx(参数列表)方法为成员变量赋值,公共getXxx()方法返回成员变量的值。 成员方法:公共方法中访问

封装成员变量:

class Student {public String name; // name定义为private,只能被Student类内部访问private int age;// age定义为private,只能被Student类内部访问// 提供getAge方法获取age的值public int getAge() {return age;}// 提供setAge方法给age赋值public void setAge(int age) {//可以在这里做一些判断,判断权限、判断数据合法性等if(age <= 0 || age > 120){System.out.println("您输入的数据不合法!");return;}this.age = age;}
}

封装成员方法

class Student {public String name; // name定义为private,只能被Student类内部访问private int age;// age定义为private,只能被Student类内部访问// 提供getAge方法获取age的值public int getAge() {return age;}// 提供setAge方法给age赋值public void setAge(int age) {//可以在这里做一些判断,判断权限、判断数据合法性等if(age <= 0 || age > 120){System.out.println("您输入的数据不合法!");return;}this.age = age;}//以下是对成员方法进行封装private void method(){System.out.println("我是私有方法");}public void method1(){method();//调用私有方法}
}

测试

public class PersonTest {public static void main(String[] args) {Student student = new Student();//错误姿势student.age = 18;//报错,编译不通过student.method();//报错,编译不通过//正确姿势student.setAge(18);//正确姿势设置变量值int age = student.getAge();//获取变量值System.out.println(age);student.method1();//访问method1方法,由方法内部调用method}
}

七 方法的参数传递

7.1 参数列表-基本类型

将实参基本数据类型变量的”数据值“传递给形参

举例:

public static void main(String[] args) {int a = 10;System.out.println("修改之前的值为:" + a); // 10change(a);System.out.println("修改之后的值为:" + a); // 10
}
​
public static void change(int a) {System.out.println("a修改前的值为:" + a); // 10a = 3;System.out.println("a修改后的值为:" + a); // 3
}

7.2 参数列表-引用类型

将实参基本数据类型变量的”地址值“传递给形参

举例:

public static void main(String[] args) {Person p = new Person();p.name = "Tom";System.out.println("修改之前的name值为:" + p.name); // Tomchange(p);System.out.println("修改之后的name值为:" + p.name); // Jim
}
​
public static void change(Person p) {System.out.println("修改之前的name值为:" + p.name); // Tomp.name = 'Jim';System.out.println("修改之后的name值为:" + p.name); // Jim
}

学习时间:

  • 同学们合理安排空余时间

学习产出:

例如:

  • 抓重点,记好笔记.
  • 跟着案例一起敲代码
  • 完成每个章节的作业
http://www.hkea.cn/news/30503/

相关文章:

  • 微信网站上传图片手机怎么制作网站
  • 简单做网站需要学什么搜索引擎有哪些网站
  • 网站备案信息加到哪里如何进行网站推广
  • 昭通网站制作aso优化技巧
  • 制作网站时怎样做滚动字幕新网站多久会被百度收录
  • 余姚物流做网站微信指数是搜索量吗
  • 怎样做网站轮播今日国内重大新闻事件
  • 想给大学做网站百度网盘搜索神器
  • jsp网站开发论文官方app下载安装
  • 关于机场建设的网站今日疫情最新情况
  • 网站域名注册服务商google浏览器官方
  • 通过网站开发工具怎么改自动跳网站百度指数有哪些功能
  • 可以发锚文本的网站百度搜索官方网站
  • 东莞网站建设企慕简述如何优化网站的方法
  • 可以做网站的公司seo外包
  • 自己怎么做网站视频赚钱5g网络优化培训
  • 数据库修改网站管理员密码seo网站有优化培训吗
  • 福田做商城网站建设找哪家公司好抖音怎么运营和引流
  • 厘米售卡站怎么做网站禁止搜索引擎收录的方法
  • 网站首页滚动图片怎么做谷歌搜索关键词排名
  • 嵩县网站开发友情链接获取的途径有哪些
  • 国家企业信息公示网(广东)海南快速seo排名优化
  • 高端网站设计 上海徐州seo排名公司
  • 泰安网站建设公司排名石家庄最新消息
  • 域名只做邮箱没网站要备案吗常见的网络推广方式包括
  • 昆山建设局网站360搜索首页
  • 正常做网站多少钱无锡网站制作无锡做网站
  • php做网站csdn网站seo公司哪家好
  • 今日头条建站工具何鹏seo
  • wordpress 培训模板优化落实疫情防控新十条