传智播客课件 PPT

合集下载

传智播客ppt课件

传智播客ppt课件
21
16
• 当飞机第一次被击中时,控制闪烁,通过两个变量, plane.isHit;plane.isVisible;
• 飞机被击中两次后,播放声音,并重新实例化一架飞机。
17
扩展:又增加了一个飞船
• 体会Bullet类的IsHit()方法的设计,体会方法 重载
– IsHit(Plane plane) – IsHit(Ship ship)
8
练习
• 练习1:形状类Shape(父类),包含Size属性和计算面积 getArea()方法。圆类Circle继承Shape,可以计算圆的面积 。正方形类Square继承Shape,可以计算正方形面积。最 终要求能实现:Shape sh=new Circle(5);sh.getArea()能 计算出圆的面积。Shape sh=new Square(5);sh.getArea() 能计算出正方形的面积。
12
让子弹飞-游戏介绍
• 演示游戏
13
分析游戏中的对象和类
• Plane
– 位置(X,Y)
– 被击中次数HitTimes
– 速度Speed
– 是否被击中IsHit
– 飞机的有效区域Rectangle类型FieldArea
– 大小Size
– ======方法========
– Draw()把自己会知道控件上
– Move()方法
• Bullet
– 位置(X,Y)
– 速度Speed
– 大小Size
– 有效区域Rectangle类型,FieldArea
– ====方法======
– Hit()判断击中目标了吗?
– Move()移动
– aw()绘制自身

2013.7.15广州传智播客训练营基础加强部分PPT1

2013.7.15广州传智播客训练营基础加强部分PPT1

—高级软件人才实作培训专家
ref、out参数与params参数(*)

斱法参数默认是“复制传递” 使用ref和out可以实现“引用传递” ref不用赋值在外赋值、 out必须赋值在内赋值 params可以自动装配数组 参数必须在最后

北京传智播客教育
—高级软件人才实作培训专家 斱法的递归调用(*在三层项目中讲)


北京传智播客教育
—高级软件人才实作培训专家
面向对象 准备阶段(一)
1. 数组-> 变量
2. 枚举
北京传智播客教育
—高级软件人才实作培训专家 数组



一次语文测试后,老师让班长统计每一个学生的成绩幵 计算全班(全班共60人)的平均成绩,然后把所有成绩显 示出来. 如何声明变量? 好的解决斱法,使用数组.
数组的声明 数组的赋值与取值 常见问题:求平均值,求最大值,求和;(冒泡排序,后面讲)

北京传智播客教育
—高级软件人才实作培训专家 练习:
练习1:从一个整数数组中取出最大的整数 练习2:计算一个整数数组的所有元素的和。 练习3:将一个字符串数组输出为|分割的形式,比如“梅西|卡卡| 郑大世” 练习4:将一个整数数组的每一个元素迚行如下的处理:如果元素 是正数则将这个位置的元素的值加1,如果元素是负数则将这个位 置的元素的值减1,如果元素是0,则不变。 yooudaoyunbiji
北京传智播客教育
—高级软件人才实作培训专家 多维数组和交错数组
1.多维数组 Length;//多维数组所有元素的个数 GetLength(维度);//获得数组某个维度的大小
1.1一维数组:string[] strArr=new string[9]; 1.2二维数组:string[,] str2Arr=new string[2,3]; 1.3三维数组:string[,,] str3Arr=new string[2,3,4];(*) 2.交错数组:数组的数组:对象(又是一个数组对象)数组 2.1 string[][] strs = new string[2][]; //因为本质,所以不能设置第二个值 str[0]=new string[2]; str[1]=new string[5];

传智播客C和C与数据结构基础讲义

传智播客C和C与数据结构基础讲义

传智播客C和C++与数据结构基础讲义传智扫地僧1、数据结构概念1.1数据结构相关概念1.1.1疑惑1、我学完了C语言,可是现在感觉还是写不出代码。

2、为什么会有各种各样的程序存在?3、程序的本质是什么?程序是为了具体问题而存在的程序需要围绕问题的解决进行设计同一个问题可以有多种解决方案如何追求程序的“性价比”?是否有可量化的方法判别程序的好坏?1.1.2数据结构起源计算机从解决数值计算问题到解决生活中的问题现实生活中的问题涉及不同个体间的复杂联系需要在计算机程序中描述生活中个体间的联系数据结构主要研究非数值计算程序问题中的操作对象以及它们之间的关系不是研究复杂的算法1.1.3数据结构中的基本概念数据–程序的操作对象,用于描述客观事物(inta,intb,)数据的特点:可以输入到计算机可以被计算机程序处理数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型。

如:int,float,char 等等数据元素:组成数据的基本单位数据项:一个数据元素由若干数据项组成数据元素之间不是独立的,存在特定的关系,这些关系即结构数据结构指数据对象中数据元素之间的关系如:数组中各个元素之间存在固定的线性关系编写一个“好”的程序之前,必须分析待处理问题中各个对象的特性,以及对象之间的关系。

基本概念总结:1.1.4数据的逻辑结构指数据元素之间的逻辑关系。

即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

逻辑结构可细分为4类:1.1.5数据的物理结构1.1.6数据的运算1.2、算法1.2.1算法概念算法是特定问题求解步骤的描述在计算机中表现为指令的有限序列算法是独立存在的一种解决问题的方法和思想。

对于算法而言,语言并不重要,重要的是思想。

1.2.2算法和数据结构区别数据结构只是静态的描述了数据元素之间的关系高效的程序需要在数据结构的基础上设计和选择算法=== 程序=数据结构+算法总结:算法是为了解决实际问题而设计的数据结构是算法需要处理的问题载体数据结构与算法相辅相成1.2.3算法特性输入算法具有0个或多个输入输出算法至少有1个或多个输出有穷性算法在有限的步骤之后会自动结束而不会无限循环确定性算法中的每一步都有确定的含义,不会出现二义性可行性算法的每一步都是可行的1.2.4算法效率的度量2.1线性表基本概念2.1.1线性表定义线性表(List)是零个或多个数据元素的集合线性表中的数据元素之间是有顺序的线性表中的数据元素个数是有限的线性表中的数据元素的类型必须相同2.1.2数学定义线性表是具有相同类型的n(≥0)个数据元素的有限序列(a1,a2,…,an)ai是表项,n是表长度。

传智播客Hibernate课件

传智播客Hibernate课件

北京传智播客教育
—高级软件人才实作培训专家 ! Hibernate入门
9.通过id查询客户信息
北京传智播客教育
—高级软件人才实作培训专家 ! Hibernate入门
10. 查询所有的客户信息
北京传智播客教育
—高级软件人才实作培训专家 ! Hibernate入门
}
北京传智播客教育
—高级软件人才实作培训专家 ! Hibernate入门
3 创建对象-关系映射文件 Hibernate 采用 XML 格式的文件来指定对象和关系数据之间的映射. 在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句 映射文件的扩展名为 .hbm.xml 这里Customer.hbm.xml文件
date
timestamp
BIRTHDAY
REGISTERED_TI ME
DATE
TIMESTAMP
汉语(java)
英语(hibernate)
北京传智播客教育
日语(sql)
—高级软件人才实作培训专家 ! Hibernate入门
北京传智播客教育
2 创建表和对应的javaBean文件(持久化类)
create table customer ( id int primary key, name varchar(12), age int, des text ) public class Customer { private private private private Integer id; String name; Integer age; String des;
char
boolean ng.String byte[]
character

传智播客java基础加强班PPT---JavaIO

传智播客java基础加强班PPT---JavaIO
北京传智播客教育
—高级软件人才实作培训专家! InputStream 4-4

ByteArrayInputStream 类
• •
在字节数组中执行读写操作 定义两种构造函数
• ByteArrayInputStream b = new ByteArrayInputStream(buf); • ByteArrayInputStream b = new ByteArrayInputStream(buf, off,

北京传智播客教育
—高级软件人才实作培训专家! 比较Comparator

比较函数强行对某些对象 collection 进行整体排序。可以将 Comparator 传递给 sort 方法(如 Collections.sort),从而允许 在排序顺序上实现精确控制。 public class User { int a; String s; public User(int a,String s) { this.a=a; this.s=s; } } ArrayList<User> arr=new ArrayList(); arr.add(new User(21,"21")); arr.add(new User(12,"12")); arr.add(new User(3,"3")); arr.add(new User(14,"14")); arr.add(new User(5,"5")); arr.add(new User(26,"26")); Collections.sort(arr);
—高级软件人才实作培训专家! OutputStream 5-1

传智播客基础课程讲义

传智播客基础课程讲义

传智播客C++课程讲义传智扫地僧1、C++对C的扩展1简单的C++程序求圆的周长和面积数据描述:半径,周长,面积均用实型数表示数据处理:输入半径r;计算周长= 2*π*r;计算面积= π* r2 ;输出半径,周长,面积;在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。

因此,1)当使用<>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;2)当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

二:由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:1、直接指定标识符。

例如std::ostream而不是ostream。

完整语句如下: std::cout << std::hex << << std::endl;2、使用using关键字。

using std::cout; using std::endl; using std::cin; 以上程序可以写成 cout << std::hex << << endl;3、最方便的就是使用using namespace std; 例如: using namespace std;这样命名空间std 内定义的所有标识符都有效(曝光)。

就好像它们被声明为全局变量一样。

那么以上语句可以如下写: cout <<hex << << endl;因为标准库非常的庞大,所以程序员在选择的类的名称或函数名时就很有可能和标准库中的某个名字相同。

所以为了避免这种情况所造成的名字冲突,就把标准库中的一切都被放在名字空间std中。

但这又会带来了一个新问题。

无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。

传智播客struts课件

传智播客struts课件
下载等。
05
Action是Struts框架的 核心,用于处理用户请
求并返回响应。
02
JSP用于呈现用户界面 ,通过Struts标签库简
化视图层的开发。
04
Struts框架的应用场景和优势
Struts框架适用于构建各种规模的企业级Java Web应用程序,尤其适用于需要处理大量用户请求和复 杂业务逻辑的应用。
置正确。
参数传递问题
总结词
在Struts框架中,参数无法正确地从页面传递到 Action类。
详细描述
可能的原因包括参数名书写错误、参数类型不匹配或 参数传递方式不正确等。解决方案包括检查参数名和 类型是否正确、确保使用正确的参数传递方式(如使 用request.getParameter()方法获取参数值)。
Struts框架的优势包括:易于扩展和定制、丰富的文档和社区支持、稳定性和可靠性、集成方便等。
通过使用Struts框架,开发者可以快速构建出结构清晰、易于维护和扩展的应用程序,提高开发效率和 软件质量。
2023
PART 02
Struts核心组件详解
REPORTING
Struts的控制层:Action类
2023
PART 03
Struts配置文件详解
REPORTING
struts-config.xml文件的作用和结构
作用
Struts框架的核心配置文件,用于配 置Struts的组件和设置。
结构
由一系列的元素组成,包括`strutsconfig`、`description`、`package` 、`action`、`result`等。
2023
传智播客Struts课件
REPORTING

传智播客ppt_JavaMail课件

传智播客ppt_JavaMail课件
POP3协议的一种扩展,定义了邮件客户端软件与IMAP服务器的通讯规则。
北京传智播客教育
—高级软件人才实作培训专家! SMTP协议的命令
SMTP命令及格式 说 明
Ehlo<SP><domain><CRLF>
ehlo命令是SMTP邮件发送程序与SMTP邮件接收程序建立连接后 必须发送的第一条SMTP命令,参数<domain>表示SMTP邮件发送 者的主机名。ehlo命令用于替代传统SMTP协议中的helo命令。 如果SMTP邮件接收程序需要SMTP邮件发送程序进行认证时,它 会向SMTP邮件发送程序提示它所采用的认证方式,SMTP邮件发 送程序接着应该使用这个命令回应SMTP邮件接收程序,参数 <para>表示回应的认证方式,通常是SMTP邮件接收程序先前提示 的认证方式。 此命令用于指定邮件发送者的邮箱地址,参数<reverse-path>表示 发件人的邮箱地址。 此命令用于指定邮件接收者的邮箱地址,参数<forward-path>表示 接收者的邮箱地址。如果邮件要发送给多个接收者,那么应使用 多条Rcpt<SP>To命令来分别指定每一个接收者的邮箱地址。 此命令用于表示SMTP邮件发送程序准备开始传送邮件内容,在这 个命令后面发送的所有数据都将被当作邮件内容,直至遇到 “<CRLF>.<CRLF>”标识符,则表示邮件内容结束。
它类似现实生活中的通讯地址,用户可通过这个地址接收别人发来的电子邮件和向别 人发送电子邮件。电子邮箱的获得需要在邮件服务器上进行申请 ,确切地说,电子 邮箱其实就是用户在邮件服务器上申请的一个帐户。邮件服务器把接收到的邮件保存 到为某个帐户所分配的邮箱空间中,用户通过其申请的用户名和密码登陆到邮件服务 器上查收该地址已收到的电子邮件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 从使用的角度看,GDI+坐标系是一种转换规则,把你所制定的逻辑 数据转换成最终设备驱动所能使用的数据。
• Point、Size、Rectangle//封装,对”坐标”的封装
DrawXXX(),画各种图形,Pen FillXXX(),填充,画实心的,Brush
热身1:某工厂某产品的年度销售情况表
练习
练习1:形状类Shape(父类),包含Size属性和计算面 积getArea()方法。圆类Circle继承Shape,可以计算圆 的面积。正方形类Square继承Shape,可以计算正方 形面积。最终要求能实现:Shape sh=new Circle(5);sh.getArea()能计算出圆的面积。Shape sh=new Square(5);sh.getArea()能计算出正方形的面 积。
知识点
虚方法:使用virtual关键字修饰,使用virtual关键字修饰的方法在本类中必须有 实现,哪怕是空的{}。虚方法存在的意义就是为了让子类重写。子类可以重写, 也可以不重写。
方法重写:只有用virtual、abstract、override修饰的方法在继承后子类可以重写 。智播客员工通讯录类的设计
新建一个窗体 该窗体有一个泛型集合(父类数组代替),用来存储
员工信息 窗体加载时初始化5位员工,其中包括2个经理,3个
普通员工。 单击“显示”按钮时,循环将所有员工信息通过“画
什么样类型的对象需要使用完成后Dispose()? 答:Pen,Brush,Font,Image,Ico,(文件操作),网络操作等。 (在这些类 中封装了一些操作系统的资源)//Pens.XXX或Brushes.XXX等不需要 ,手动创建的才需要。强行释放资源会出错.
关于C#画图的一些介绍2
GDI+中的坐标系。
什么是方法重写?答:方法重写是指子类继承父类后在子类中有一个与父类中某 个方法签名一致,但方法内容可以重新定义的方法,并用override关键字修饰。
抽象类:abstract关键字修饰;不能实例化;可以有抽象成员也可以有非抽象成 员(1.有抽象成员的类必须标记为abstract,并且不能有任何实现;2.类中的抽象 成员在子类中必须实现(override),除非子类也是抽象类);
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声
思考:父类到底要不要写成抽象类?
抽象类的意义:不能从抽象类创建对象,它的意义在 于被扩展。代码重用、多态(简化了is DataType的判 断)。普通类的继承能实现多态吗?
方法重写的意义:为所有子类定义了某种规范(某种 必须有的规范),多态。//这里的规范可以理解为” 行为“,就是方法。//以后用到得接口等中提到的规 范,其实目的就是让新增加的类必须具有某些方法, 这样才能满足我们程序中的要求。(对程序扩展做了 一定的约束。)
• 原点在左上角。X水平向右为正,Y垂直向下为正。 (Demo,鼠标 移动,显示坐标)//定义一个图形的坐标,即指定了该图形离顶部与 左边的距离。//每个控件的左上角都是(0,0)
• 问题:完成一篇word文档,在电脑上和打印机上显示效果一样,为
什么?
• 世界坐标(逻辑坐标)、页面坐标、设备坐标,为了简单理解即可
传智播客课件
简要复习
Try-catch-finally Static 索引器this[int index],this[string s],索引器
是可以重载的。 Namespace
今天要用到的技能点
抽象类、抽象方法的运用 方法重写virtual、abstract和override “类”、”属性”、“成员变量”、“方法”等的运用 C#绘图技术GDI(图形设备接口,简单介绍) Timer控件、Panel控件 体会方法重载IsHit()方法
virtual方法和abstract方法的区别:
• virtual方法子类可以override,也可以不override。 • Abstract标记的成员在子类中必须override,除非子类也是抽象类。
ToString()方法、Equals()来自于Object,任何类都有,通过override有了不同的实 现(举例,自己的类实现ToString())
传”。 注意:
• 所有人员均有显示自己详细信息的功能(姓名,电话、Email、职位) • 在类设计过程中考虑是否使用抽象类 • 方法重写时,考虑使用virtual还是abstract,为什么? • 某个类到底应该从谁来继承,比如SellerManager应该直接继承自Seller而不是
Employee。
课前热身:
• GDI+绘制“某产品年度销售情况” • 《传智播客员工通讯录》类设计
关于C#画图的一些介绍1(GDI+)
命名空间:System.Drawing;(基本绘图操作)
Graphics对象,可以理解为一只画笔,要在哪个控件上绘图,就要得 到对应控件的Graphics对象(就是获得对应控件的绘图表面)。获得 Graphics对象一般有两种方式:1.控件.CreateGraphics()//通过该方 式创建后要调用g.Dispose()方法释放资源。2.在重写OnPaint()方法中 通过参数PaintEventArgs e.Graphics;来获得,一般使用为Paint事件 中。//通过这种方式一般不需要手动调用Dispose();区别OnPaint()与 窗体的Paint事件。(画一些简单图形)
热身:传智播客员工通讯录
传智播客员工通讯录的类设计
员工,属性:(姓名,联系电话、Email);方法:Print(),将自己的信息画 到Panel上。
讲师,继承自员工,有自己特有的<讲课方法(Teach())>。 市场人员,继承自员工,有自己特有的<市场宣传方法(Publicize())> 教学部经理,继承自讲师。重写Teach()方法,内容变成了“讲公开课”。 市场部经理,继承自市场人员。重写Publicize()方法,内容变成了“区域宣
相关文档
最新文档