- 5.81 MB
- 2022-04-29 14:45:59 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'上海交大-土力学-PPT课件2
土中应力分布?土中的应力按引起的原因可分为:(1)由土本身有效自重在地基内部引起的自重应力;(2)由外荷(静荷载或动荷载)在地基内部引起的附加应力。概述
土体中应力状态发生变化引起地基土的变形,导致建筑物的沉降,倾斜或水平位移。当应力超过地基土的强度时,地基就会因丧失稳定性而破坏,造成建筑物倒塌。应力计算方法:1.假设地基土为连续,均匀,各向同性,半无限的线弹性体;2.弹性理论。
(1)土中任意截面都包括有骨架和孔隙的面积,所以在地基应力计算时考虑的是土中单位面积上的平均应力。(3)土中竖向和侧向的自重应力一般均指有效自重应力。为了简便起见,把常用的竖向有效自重应力,简称为自重应力,并改用符号表示。(2)假设天然土体是一个半无限体,地基中的自重应力状态属于侧限应力状态,地基土在自重作用下只能产生竖向变形,而不能有侧向变形和剪切变形。地基中任意竖直面和水平面上均无剪应力存在。
天然地面h1h2h3321水位面1h11h1+2h21h1+2h2+3h3地下水位位于同一土层中,计算自重应力时,地下水位面应作为分层的界面注意:在地下水位一下,如埋藏有不透水层,由于不透水层中存在水的浮力,所以层面及层面以下的自重应力应按上腹土层的水土总重计算
基底压力(一)中心荷载下的基底压力中心荷载下的基础,其所受荷裁的合力通过基底形心。基底压力假定为均匀分布,此时基底平均压力设计值P(kPa)按下式计算:
式中:F—作用任基础上的竖向力设计值(kN);G—基础自重设计值及其上回填土重标准值的总重(kN);式中:—基础及回填土之平均重度,一般取20kN/m3,地下水位以下部分应扣去浮力,即取10kN/m3;d—基础埋深,必须从设计地面或室内外平均设计地面算起(m);A—基底面积(m2),对矩形基础A=lb,l和b分别为矩形基底的长度和宽度(m)。对于荷载沿长度方向均匀分布的条形基础,则沿长度方向截取一单位长度的截条进行基底平均压力设计值p(kPa)的计算,此时上式中A改为b(m),而F及G则为基础截面内的相应值(kN/m)。
(二)偏心荷载下的基底压力单向偏心荷载下的矩形基础如图所示。设计时通常取基底长边方向与偏心方向一致,此时两短边边缘最大压力设计值与最小压力设计值按材料力学短柱偏心受压公式计算:式中:M—作用于矩形基底的力矩设计值(kN·m);W—基础底面的抵抗矩或:F+Geelbpmaxpmin
讨论:当e0,基底压力呈梯形分布当e=l/6时,pmax>0,pmin=0,基底压力呈三角形分布pmaxpminel/6时,pmax>0,pmin<0,基底出现“拉应力”,基底压力重分布e>l/6pmaxpmin<0pmaxpmin=0基底压力重分布
由于基底与地基之间不能承受拉力,此时基底与地基局部脱开,使基底压力重新分布。因此,根据偏心荷载应与基底反力相平衡的条件,可得基底边缘的最大压力pmax为:式中:k—单向偏心荷载作用点至具有最大压力的基底边缘的距离(m)。pmaxpmin=0F+G
(三)基底附加压力一般情况下,建筑物建造前天然土层在自重作用下的变形早已结束。因此,只有基底附加压力才能引起地基的附加应力和变形。式中:p—基底平均压力设计值(kPa);—土中自重应力标准值,基底处:—基础底面标高以上天然土层的加权平度,,其中地下水位下土层的重度取有效重度;d—基础埋深,必须从天然地面算起,对于新填土场地则应从老天然地面起算,d=h1+h2+...+hn(m)。建筑物建造后的基底压力中应扣除基底标高处原有的土中自重应力后,才是基底平面处新增加于地基的基底附加压力,基底平均附加压力设计值p0值(kPa)按下式计算:
地基附加应力地基附加应力----指建筑物荷重在土体中引起的附加于原有应力之上的应力。它是使地基发生变形,引起建筑物沉降的主要原因。地基附加应力计算的假定(1)地基土是均质,各向同性的半无限空间线弹性体。(2)直接采用弹性力学理论解答。(3)基底压力是柔性荷载,不考虑基础刚度的影响。叠加原理叠加原理建立在弹性理论基础之上,当地基表面同时作用有几个力时,可分别计算每一个力在地基中引起的附加应力,然后每一个力在地基中引起的附加应力累加求出附加应力的总和。
法国J.布辛奈斯克(Boussinesq,1885)运用弹性理论推出了在弹性半空间表面上作用一个竖向集中力时半空间内任意点M(xyz)处的六个应力分量和三个位移分量的弹性力学解答一、竖向集中力下的地基附加应力(一)Boussinesq解
(二)等代荷载法如果地基中某点M与局部荷载的距离比荷载面尺寸大很多时,可用一个集中力P代替局部荷载(三)
【例】某条形地基,如下图所示。基础上作用荷载F=400kN/m,M=20kN•m,试求基础中点下的附加应力,并绘制附加应力分布图2mFM0=18.5kN/m30.1m1.5m
分析步骤I:1.基底压力计算F=400kN/m0=18.5kN/m3M=20kN•m0.1m2m1.5m基础及上覆土重G=GAd荷载偏心距e=M/(F+G)条形基础取单位长度计算319.7kPa140.3kPa
分析步骤Ⅱ:2.基底附加压力计算1.5m292.0kPa112.6kPa0.1mF=400kN/mM=20kN•m2m0=18.5kN/m3基底标高以上天然土层的加权平均重度基础埋置深度1.5m
分析步骤Ⅲ:3.基底中点下附加压力计算2mF=400kN/mM=20kN•m0.1m1.5m0=18.5kN/m3179.4kPa112.6kPa292.0kPa112.6kPa
分析步骤Ⅳ:2mF=400kN/mM=20kN•m0.1m1.5m0=18.5kN/m3202.2kPa193.7kPa165.7kPa111.2kPa80.9kPa62.3kPa地基附加应力分布曲线1m1m2m2m2m
例:在地基上作用一集中力P=100kN,要求确定:(1)在地基中z=2m的水平面上,水平距离r=0、1、2、3、4m处各点的附加应力值,并绘出分布图;(2)在地基中r=0的竖直线上距地基表面z=0、1、2、3、4m处各点的附加应力值,并绘出分布图;(3)取σz=10、5、2、1kPa,反算在地基中z=2m的水平面上的r值和在r=0的竖直线上的z值,并绘出相应于该四个应力值的σz等值线图。解:(1)
(2)
(3)
二、矩形荷载荷载下的地基附加应力设矩形荷载面的长度和宽度分别为l和b作用于地基上的竖向均布荷载p0(kPa),求矩形荷载面角点下的地基附加应力,然后运用角点法求得矩形荷载下任意点的地基附加应力(一)、均布的矩形荷载
式中Kc为均布矩形荷载角点下的竖向附加应力系数,简称角点应力系数,可按m及n值由表查得。注意:在应用角点法计算Kc值时,b恒为短边,l恒为长边
计算点在荷载面内:zMooIIIIIIIVp均布矩形荷载下任意点的应力计算利用角点下的应力计算公式和应力叠加原理,推求地基中任意点的时加应力的方法称为角点法。
IIooIIIIoIVoII计算点在基底边缘计算点在基底边缘外均布矩形荷载下任意点的应力计算
计算点在基底角点外IooIIIIIIV均布矩形荷载下任意点的应力计算
这里,Kt1和Kt2均为m=l/b和n=z/b的函数,可由表2-3查用。必须注意b是沿三角形分布荷载方向的边长(二)
例:某港口码头剖面尺寸及简化后作用在基础顶面的荷载如图所示,试求A、B两边点下垂直线上的附加应力分布(算至Z=3B),并绘出的分布图。图中集中力P的偏心距为0.5m.
解:计算基底压力:取长度为1m计算基底附加压力:(B点)(A点)
按每3m一层计算,查表时可查矩形荷载时的表格,取m=10。A、B两点处的附加应力的计算应分均布荷载与三角形荷载两种情况;设均布荷载下求出的应力系数为,三角形荷载下的应力系数为对应的附加应力为、,所求的附加应力均布荷载时,三角形荷载时,
A点附加应力计算表格Z(m)n=Z/b均布荷载时p0=2.000kN/m2三角荷载时p0max=96.000kN/m2z(kN/m2)Kz1z1(kN/m2)Kz2z2(kN/m2)30.60.2340.4680.07026.73927.207261.20.1890.3780.07837.51687.894891.80.1480.2960.06756.48006.7760122.40.1190.2380.05665.43365.6716153.00.0990.1980.04764.56964.7676
B点附加应力计算表格Z(m)n=Z/b均布荷载时p0=2kN/m2三角荷载时p0max=96.000kN/m2z(kN/m2)Kz1z1(kN/m2)Kz2z2(kN/m2)30.60.2340.4680.164015.74416.21261.20.1890.3780.110510.60810.98691.80.1480.2960.08087.75688.0528122.40.1190.2380.06326.06726.3052153.00.0990.1980.05114.90565.1036
应力分布曲线图
三
例:某条形基础底面宽度b=1.4m,作用于基底的平均附加应力p0=200kPa,要求确定(1)均布条形荷载中点o下的地基附加应力σz分布;(2)深度z=1.4m和2.8m处水平面上的σz分布;(3)在均布条形荷载边缘以外1.4m处o1点下的σz分布。解:(1)
(2)
(3)
地基沉降的弹性力学公式柔性荷载下的地基沉降
刚性基础的沉降对干中心荷载下的刚性基础,由于它具有无限大的抗弯刚度,受荷沉降后基础不发生挠曲,因而基底的沉降量处处相等。=常数利用沉降影响系数ωz可以作出刚性基础下成层地基沉降的简化汁算方法。线性变形分层总和法
刚性基础的倾斜对均质弹性半空间上的刚性基础,只考虑地基有限深度范围内土的变形时,基础倾斜可以下式表达对水平成层地基上的刚性基础,可仿照上述分层总和法作出倾斜计算表达式加下:
例:计算直径b=5m的圆形刚性基础在竖向偏心荷载P=2MN(偏心距e=0.3m)长期作用下的倾斜。设从基底至基岩的8m深度范围内计有三个水平可压缩土层,各层地面距基底的深度zi、变形模量E0i和泊松比μi依次为:z1=2m,E01=8MPa,μ1=0.35;z2=4m,E02=10MPa,μ2=0.30;z3=8m,E03=15MPa,μ3=0.25。解:按层底深径比z1/b=2/5=0.4,z2/b=4/5=0.8,z3/b=8/5=1.6,查上图曲线,得相应的倾斜影响系数,代入得基础倾斜
土的压缩性土的压缩性:土在压力作用下体积缩小的现象土体产生体积缩小的原因:(1)固体颗粒的压缩(2)孔隙水和孔隙气体的压缩,孔隙气体的溶解(3)孔隙水和孔隙气体的排出土的固结:土的压缩随时间而增长的过程显然,对于饱和砂土,由于它的透水性强,在压力作用下孔隙中的水易于向外排出,固结很快就能完成而对于饱和粘土由于它的透水性弱,孔隙中的水不能迅速排出,因而固结需要很长时间才能完成
试样水槽内环环刀透水石传压板百分表测定:轴向应力轴向变形侧限压缩试验实验室测定突地压缩性主要装置为固结仪,不能产生侧向变形,只有竖向压缩。土的压缩是由于孔隙体积的减小所致,所以土的变形常用孔隙比e表示
曲线愈陡,说明随着压力的增加,土孔隙比的减小愈显著,因而土的压缩性愈高
土的变形模量以载荷试验测定土的变形模量
利用弹性力学公式反求地基土的变形模量:载荷试验优点:试验结果能反映较大一部分土体的压缩性比钻孔取样在室内测试所受到的扰动要小得多土中应力状态在承压板较大时与实际基础情况比较接近载荷试验缺点:试验工作量大费时久所规定的沉降稳定标准带有较大的近似性成果不易准确
变形模量与压缩模量的关系=0
根据统计资料,可以是值的几倍,一般说来,土愈坚硬则倍数愈大,而软土的值与值比较接近
地基的最终沉降量分层总和法在地基沉降计算深度范围内,将地基土划分为若干分层来计算各分层的压缩量,然后求其总和,每个分层压缩量的计算方法与无侧向变形条件下的压缩量计算方法相同。
8)地基最终沉降量s的分层总和法公式
平均附加应力系数的物理意义:分层总和法中地基附加应力按均质地基计算,即地基土的压缩模量Es不随深度而变化。从基底至地基任意深度Z范围内的压缩量为:
应力历史对地基沉降的影响
先期固结压力
地基最终沉降计算问题综述分层总和法共同假设的用意各种分层总和法都认为,荷载柞用下的非均质地墓中的附加应力分布,用均质弹性半空间的理论解答来代替是可以接受的。并通过划分薄层的办法把非线性问题线性化,从而提高计算精度。分层总和法以均质弹性半空间的应力来计算非均质地基的变形的做法,在理论上显然不协调,其所引起的计算误差也还没有得到理论和实验的充分验证。不过,实践表明,地基沉降汁算的正确与否,更直接地取决于方法本身能否反映地基的成层性和非均质性、能否考虑到土的应力-应变关系的非线性,而应力计算精确度的影响毕竞还居其次.这就是分层总和法虽然不尽合理,却仍然在工程实践中得到广泛应用的原因。
地基最终沉降计算问题综述各分层总和法的特点及应用对于大面积荷载下的薄压缩层地基,其应力和变形状态都接近于压缩仪中土样所处的完全侧限状态,对此,单向压缩分层总和法最为适用。
对于一般基础,其地基压缩层厚度与基底尺寸比较,不能作为薄层看待时,以单向压缩分层总和法计算就没有考虑地基的三维(三向)应力状态的影响,忽略了地基土因剪切畸变所产生的瞬时沉降。以单向压缩总和法计算所得的固结沉降,对一般的正常固结和超固结土,都是偏大的。所以,通常粗略地把单向压缩分层总和法的计算结果看成是地基最终沉降,而不另行考虑地基的瞬时沉降。规范法的重要特点在于引入了沉降计算经验系数 ,以校正计算值对实测值的偏差。对超固结(或似超固结)土的地基沉降计算宜考虑应力历史影响。线性变形分层总和法公式和,以弹性半空间的竖向位移解答为基础,考虑了局部刚性荷载下的三维应力状态。砂土地基在荷载作用下由土的体积变形和剪切畸变引起的沉降在短时间内几乎同时完成。
地基最终沉降计算问题综述地基沉降计算深度问题探讨确定地基沉降计算深度的意义是:界定对地基沉降有影响的土层范围即压缩层厚度,保证满足沉降计算的精度要求。
饱和土的有效应力和渗透固结饱和土中的有效应力有效应力:土中控制压缩和抗剪强度的应力A.W.毕肖普K.太沙基饱和土的孔隙压力
A.W.斯肯普顿
按有效应力原理计算土中自重应力
太沙基一维固结理论基本假设:1.土层是均质,各向同性和完全饱和的2.土的压缩完全是由于孔隙体积的减少土粒和水是不可压缩的3.水的渗流和土层的压缩仅在竖向发生4.水的渗流遵从达西定律6.外荷载一次瞬时施加保持不变5.渗透系数k和压缩系数a保持不变
一维固结微分方程根据渗流的连续条件,一维固结微分方程如下:初始条件和边界条件如下:
应用傅立叶级数,可求得满足初始条件和边界条件的解答如下:在某一固结应力作用下,经某一时间t后,土体发生固结或孔隙水应力消散的程度
孔隙水压力梯形分布的固结度计算某一时间t的沉降量等于矩形(I)和三角形(II)两部分沉降之和(情况4)
某建筑物地基中有一厚为6.1m的正常固结粘性土层,该层上下面均为排水砂层,在建筑物荷载作用下,设该层附加应力为均匀分布,其值为9t/m2,由试验得Cv=1.2×10-3cm2/sec,试求多少天内建筑物的固结沉降量为最终固结沉降量的一半?解:得:由可得:即在181.6天内建筑物的固结沉降量为最终沉降量的一半。由
试简述如何用固结理论求解下列两种课题的步骤:(1)已知历时求沉降量;(2)估算达到某沉降量的历时。答:(1)已知历时求沉降量的步骤a估计该土层的最终沉降量S;b计算该土层的竖向固结系数c计算竖向固结时间因数d应用公式计算固结度,或查系曲线求f应用公式,可求竖向应力于已知历时的沉降量。
(2)估计达到某沉降量的历时a由公式,可求固结度Uzb查曲线或用弹力公式计算c计算竖向固结系数d由可求历时。
如下图所示正常固结粘土地基,其基本物理力学指标为:含水量58%,比重2.71,重度18.5kN/m3,孔隙比1.0440,固结系数1.75×10-7m2/s,变形模量6.0×103kPa,泊松比0.5,次压缩系数0.005,中心沉降影响系数1.24。今在地基表面有80kPa的4m×5m均布矩形荷载。试计算该土层在荷载中心点处20年时的地面沉降;该地基固结沉降有无极限?若有,是多少?若没有,请给出理由。注:假定地基平均固结度为95%时发生次固结。附:(1)土样压缩试验结果:
(2)均布矩形荷载角点下的竖向附加应力系数;不可压缩层粘土5m80kPa地下水位
解:故固结沉降20年后总沉降该地基固结沉降无极限,瞬时沉降和主固结沉降都是有限的,而次固结沉降则是无限的,当
如图所示地基土层厚,压缩模量,渗透系数问:加载一年后地基的固结沉降多大?若土层的厚度、压缩模量、渗透系数均增大一倍;问:与原来相比,该地基的固结沉降有何变化?,地表作用有大面积均布荷载,荷载瞬时施加;解:(1)最终固结沉降量由得:qHk,Es不排水地基
又由得一年时的沉降量:(2)(不变)因故固结沉降不变。
地基沉降发展三分量初始沉降(瞬时沉降)Sd土体在附加应力作用下产生的瞬时变形固结沉降Sc饱和与接近饱和的粘性土在荷载作用下随着超静孔隙水压力的消散土中孔隙水的排出土骨架产生变形所造成的沉降(固结压密)次固结沉降Ss主固结过程(超静孔隙水压力消散过程)结束后,在有效应力不变的情况下,土的骨架仍随时间继续发生变形
土的性质对沉降的影响砂土地基初始沉降是主要的,排水固结变形在荷载作用后很快完成饱和软粘土地基固结沉降是主要的,需要很长时间才能完成沉降计算方法初始沉降采用弹性理论求解固结沉降根据固结确定试验参数,采用分层总和法求解次结沉降根据蠕变试验确定参数,采用分层总和法求解
次固结变形定义次固结变形为主固结变形完成后,土体的变形在时间上把主固结变形和次固结变形截然分开的意见在学术界看法是不一致的。将地基沉降分成三部分是从变形机理角度考虑,并不是从时间角度划分的地基固结沉降和次固结沉降难以在时间上分开。
PHP面向对象编程PHP面向对象编程2021/8/3
主要内容面向对象编程的基础知识PHP5中面向对象编程的基本技术PHP5中面向对象编程的高级技术2021/8/3
面向对象编程的基础知识什么叫面向对象(OOPObjectOrientedProgramming)起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法。但这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOrientedAnalysis),面向对象的设计(OOD,ObjectOrientedDesign)、以及我们经常说的面向对象的编程实现(OOP,ObjectOrientedProgramming)。2021/8/3
面向对象的基本概念对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物还可以是抽象的事物.对象的属性和行为:对象用数据值来描述状态。行为就是操作可以改变对象的状态.类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,类实际上就是一种数据类型。类的属性与方法通常又统称为类的成员。2021/8/3
面向对象的特征封装:类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护继承是指子类可以拥有父类所有的属性和方法,除了这些以外,子类自己还可以创建新的方法和属性多态:同一操作作用在不同对象上所的结果不一样,这就是多态。也就是同一函数在不同的对象中所实现的功能不一样。2021/8/3
创建类定义类classClassName{//包含属性和方法}class:关键字,说明声明了一个类ClassName:类名。满足标识符的规定2021/8/3
创建对象对象是通过类实例化出来的,使用new关键字来生成一个对象语法:$对象名称=new类名称();如定义了Person后,创建该类的对象$p1=newPerson();$p2=newPerson();2021/8/3
使用对象中的成员PHP对象中的成员有两种一种是成员属性,一种是成员方法.访问对象中的成员就要使用一个特殊的操作符“->”来完成对象成员的访问.语法:对象->属性对象->方法如:$p1->name;$p1->age;$p1->sex;$p1->say();$p2->run();2021/8/3
$this的使用在类的外部,访问对象中的成员,可通过“对象->成员”的形式在类的内部,访问类的成员(属性或方法),使用”$this->成员“,代表本对象的引用如:2021/8/3
构造方法构造方法是特殊方法。当使用new这个关键字来创建一个对象时,它将自动调用构造方法。PHP5中,构造方法的名称统一为__construct()。PHP4中如果一个方法与类同名时,这个方法将成为构造方法.与类同名的构造方法在PHP5中仍然可以用,但现在很少有人用,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数构造方法可以给对象做初始化的工作格式:function__construct([参数]){......}2021/8/3
构造方法注意:当与类同名的构造方法和__construct()同时存在时,后者优先调用有参构造方法创建对象,必须向构造方法中传参。$p=newPerson("张三",20);定义构造方法时可以给参数设置默认值,如此,可以调用无参的构造方法创建对象。2021/8/3
析构方法PHP5中,引入析构方法的概念,可以及时释放对象所占用的内存析构方法__destruct()该方法没有参数,也没有返回值该方法在脚本关闭或对象引用被删除前被调用析构方法可用于关闭数据库,关闭文件或其他扫尾工作function__destruct(){echo"对象即将销毁";}2021/8/3
封装封装是面向对象三大特征之一,含义有两层:把对象的属性和方法结合在一起尽可能隐藏对象的内部细节,对外只保留有限的接口反映在设计上就是,封装可以保证对象以外的部分不能随意读写对象的内部数据PHP中封装涉及到的三个关键字public,protected,private2021/8/3
类成员的可见性为控制类成员的可见性,限定对属性和方法的访问,使用以下三种访问修饰符public表示全局,类内部外部子类都可以访问;protected表示受保护的,只有本类或子类或父类中可以访问;private表示私有的,只有本类内部可以使用;注意:只要属性前有修饰符,要把var去掉,var等同public的访问权限2021/8/3
__set(),__get()方法应用__set()方法:该方法有两个参数,第一个参数为要设置值的属性名,第二个参数是要给属性设置的值,没有返回值。在直接设置私有属性值的时候自动调用.__get()方法:该方法用来获取私有成员属性值,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,该直接获取私有属性的时候对象自动调用的注意:两个方法是为了存取私有属性,如果成员属性不封装成私有的,对象本身就不会去自动调用这两个方法。2021/8/3
继承PHP中,只支持单重继承通过继承生成的子类,将自动拥用父类的有关属性和方法(父类中的私有成员除外)子类还可以定义自己的新属性和相应的新方法必要时,子类可重新声明父类的同名属性或重新定义父类的同名方法继承使用extends关键字classBextendsA{}2021/8/3
继承子类覆盖父类中同名的方法时,在子类里可以使用如下两个方法调用父类方法:一种是使用父类的“类名::”来调用父类中被覆盖的方法;一种是使用“parent::”的方试来调用父类中被覆盖的方法;2021/8/3
访问修饰符----protectedprotected的成员不能被该类的外部代码访问。但是该类的子类有访问权限,可以进行属性、方法的读及写操作,该子类的外部代码包括其的子类都不具有访问其属性和方法的权限。2021/8/3
final关键字Final可以修饰类和方法被final修饰的类不能被继承被final修饰的方法不能被覆盖2021/8/3
static关键字static修饰的属性是静态属性,静态属性是属于类的,不属于任何对象实例,这样的属性在内存中只有一个,多个对象共用这一个属性静态属性不可以由对象通过->操作符来访问。静态属性由类名::$静态属性来访问如:2021/8/3
static关键字static修饰的方法称为静态方法,静态方法只能使用静态成员,不能访问非静态成员静态方法中访问静态属性不能使用$this,而是使用self::$静态属性或是类名::静态属性非静态方法中访问静态属性也是使用self::$静态属性或是类名::静态属性类外访问静态方法可以使用类名::静态方法直接调用,也可以使用对象直接调用2021/8/3
const关键字PHP中定义常量使用define()函数,但在类里使用const定义常量,常量的值不能被修改在类外面使用时使用类名::常量名(没有$),方法内使用时使用self::常量名如:2021/8/3
__toString()方法当定义一个对象如:$a=newStudent();echo$a这时运行将报错如果在类中定义__toString()方法,输出对象引用时将自动调用该方法,并输出该方法的返回值,且__toString()方法要有return语句2021/8/3
克隆对象如果使用两个或多个一样的对象,可以使用clone关键字克隆出一模一样的对象如果$t1=newPerson();$t2=$t1,则对其中任何一个做属性的修改,都将影响另一个,而克隆的两个对象互不打扰PHP5中定义了一个特殊的方法__clone(),在对象克隆时自动调用,如果想克隆后改变原对象的内容,则需在该方法中重写原本的属性和方法。2021/8/3
__call()方法处理调用错误使用对象调用方法时,如果方法不存在,运行时程序就会退出不能继续执行如果定义了__call()方法,在试图使用对象调用不存在的方法时,就会提示调用的方法和使用的参数不存在,但程序仍可以继续执行该方法声明时包含两个参数,第一个参数是string型,是调用不存在方法的方法名(如$fname),第二个参数是array型,是调用的不存在的方法的参数(如$argus)。2021/8/3
__autoload()函数调用一个类的时候,必须要先将该类所在的文件引入(include“xxx.php”),如果我们在一个页里调用的类很多,那么我们不得不使用许多的include“xxx.php”。显然这样很麻烦。遇到上述情况,只要定义__autoload()函数可以帮助我们解决问题该函数不是类方法,是独立的方法,有一个string类型的参数是声明不存在类的类名,如下:function__autoload($className){include$className.".php";}2021/8/3
抽象方法和抽象类在类中没有方法体的方法称为抽象方法,即方法名后面没有大括号和具体内容,方法名后直接是分号.抽象方法使用abstract来修饰如:abstractfunctionfun1();如果类中有抽象方法,那么该类就要被abstract修饰,该类称为抽象类抽象类必须有抽象方法,但也可以有成员属性和非抽象的方法2021/8/3
抽象方法和抽象类抽象类是一种规范,要求子类去遵守,子类继承抽象类后,按照子类的需要将抽象类中的抽象方法实现抽象方法是作为子类重载的模板来使用,子类继承抽象类时必须将其中的抽象方法全部实现,否则子类仍然不能被实例化2021/8/3
接口PHP不支持多继承,为了解决该问题,引入接口的概念抽象类是一种特殊的类,接口是一种特殊的抽象类,当类中所有的方法都是抽象方法时,此时就换一种称谓,类就叫做接口接口中不能声明变量,接口中所有的成员都是public权限的,包括子类实现时也要使用public权限接口的声明interface接口名{}2021/8/3
接口接口中可以定义常量,且要赋初值。接口中所有的方法都是抽象的,所以可以将abstract去掉接口中所有方法的访问权限都是public,所以也可以将public去掉接口可以使用extends继承其他接口2021/8/3
接口的实现定义一个子类,使用关键字implements实现接口中的全部抽象方法一个类可以同时实现多个接口一个类既可以继承一个父类,又可以同时实现多个接口2021/8/3
instanceof运算符该运算符可以判断一个对象是否是一个类的实例$c=newChild;if($cinstanceofChild)echo“yes";输出yes2021/8/3
多态多态性是指一段程序能够处理多种类型对象的能力PHP中虽然可以实现多态,但和c++还有Java这些面向对象的语言相比,多态性并不是那么突出,因为PHP本身就是一种弱类型的语言,不存在父类对象转化为子类对象或者是子类对象转化为父类对象的问题重载和重写:PHP的同一个类中不能出现同名方法,所以所谓的重载其实和Java中的重写类似,指的是在子类中可以重新定义父类中的方法。2021/8/3
对象串行化两种情况我们必须把对象串行化,第一种情况就是把一个对象在网络中传输的时候要将对象串行化,第二种情况就是把对象写入文件或是数据库的时候用到串行化。串行化有两个过程,一个是串行化,就是把对象转化为二进制的字符串,我们使用serialize()函数来串行化一个对象,另一个是反串行化,就是把对象转化的字符串再转化为对象,我们使用unserialize()函数来反串行化一个对象.2021/8/3
serialize()函数PHP中serialize()函数的参数为对象名,返回值为一个字符串,Serialize()返回的字符串含义模糊,一般我们不会解析这个串来得到对象的信息,我们只要把返回来的这个字符串传到网络另一端或是保存到方件中即可。2021/8/3
unserialize()函数PHP中unserialize()函数来反串行化对象,这个函数的参数即为serialize()函数的返回值,输出当然是重新组织好的对象.2021/8/3
__sleep()函数和__wakeup()函数在对象串行化的时候,会调用一个__sleep()函数来完成一些睡前的事情;而在重新醒来,即由二进制串重新组成一个对象的时候,则会自动调用PHP的另一个函数__wakeup(),做一些对象醒来就要做的动作。__sleep()函数不接受任何参数,但返回一个数组,其中包含需要串行化的属性。末被包含的属性将在串行化时被忽略,如果没有__sleep()方法,PHP将保存所有属性。2021/8/3
课堂练习编写一个图书信息类Book。属性受保护的,包括书名bookName,作者author,价格price提供有参构造方法,析构方法,访问器方法(如果价格赋值不是数字,则将价格赋值为0),输出图书信息的方法displayBook。创建对象测试该类2021/8/3
课堂练习编写一个小说信息类Novel继承Book类。添加私有属性小说描述desc。添加有参构造方法,允许使用者通过构造方法为所有属性赋值。重载displayBook方法,将小说所有信息以表格形式打印出来。提供克隆方法,当克隆一个新的小说对象时,要求将desc的值设为“待添加”。编写displayDesc方法,用绿色背景的div显示小说的描述信息。2021/8/3
课堂练习实现:当打印小说对象时,会输出当前的小说名称(红色字体,带书名号)。实现:当用户调用display(1)的时候,运行displayBook方法,调用display(2)的时候,运行displayDesc方法。实现:小说对象可以序列化,除了desc外的其他属性都进行序列化。小说对象被反序列化时,price的值设置为0。2021/8/3
课堂练习编写类DisplayTable,用来以表格形式显示指定数据库中的任意数据表的信息。属性:数据库的主机名用户名密码数据库名表名结果集2021/8/3
课堂练习方法:构造方法:连接数据库服务器,选择数据库,执行SQL语句,获得结果集对象打印数据表方法:将数据表中的所有信息显示到浏览器上。2021/8/3
答疑2021/8/3'
您可能关注的文档
- 最新三菱通讯协议课件PPT.ppt
- 最新三角形的面积11.课件PPT.ppt
- 最新三角函数高考题集锦.课件PPT.ppt
- 最新三重积分课件PPT.ppt
- 最新三角形高的画法动作演示课件PPT.ppt
- 最新上呼吸道感染(2)课件PPT.ppt
- 最新上《人间自有真情在》ppt课件-(1)课件PPT.ppt
- 最新上期七年级历史宋代的经济和社会生活课件PPT课件.ppt
- 最新上海交通大学耳鼻咽喉科学中文版课件 绪论课件PPT.ppt
- 最新上海交大809考研机械原理与设计课件第1章绪论课件PPT.ppt
- 最新上海市中医医院信息化建设的现状与展望课件PPT.ppt
- 最新上海市中小学综合素质评价实施方案(智育部分).课件PPT.ppt
- 最新上海大学高等数学A(一)秋季试题及解答课件PPT.ppt
- 最新上海版牛津1BM3U1seasons-的课件课件PPT.ppt
- 最新上海汉高底盘装甲讲解课件PPT.ppt
- 最新上海牛津英语初中8A UNIT 2 单词教学课件PPT.ppt
- 最新上消化道出血护理查房222课件PPT.ppt
- 最新上消化道出血护理查房 (1) 课件课件PPT.ppt