函数封装

面向对象:三个特征:封装,继承,多态。

有些话、适合烂在心里 提交于 2019-12-19 12:46:10
面向对象:三个特征:封装,继承,多态。 现实生活中的对象:张三 李四 王五。 类就是:对现实生活中事物的描述。 对象:就是这类事物,实实在在存在个体。 属性对应是类中变量,行为对应的类中的函数(方法)。 其实定义类,就是在描述事物,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量和成员方法)。 成员变量和局部变量的作用范围。 成员变量作用于整个类中。 局部变量变量作用于函数中,或者语句中。 在内存中的位置: 成员变量:在堆内存中,因为对象的存在,才在内存中存在。 局部变量:存在栈内存中。 例如:描述汽车(颜色,轮胎数)。描述事物其实就是在描述事物的属性和行为。 class Car { //描述颜色 Stringcolor = "红色"; //描述轮胎数 intnum = 4; //运行行为。 voidrun() { System.out.println(color+".."+num); } } class CarDemo { publicstatic void main(String[] args) { //生产汽车。在java中通过new操作符来完成,就是在堆内存产生一个实体。 将已有车的颜色改成蓝色。用该对象做使用。在java的方式是:对象.对象成员 newCar().num = 5; newCar().color = "blue"; newCar().run();

进度条函数封装

[亡魂溺海] 提交于 2019-12-18 14:18:25
使用说明 在项目中,有时难免会遇到一些同样的功能,进度条时其中一个。在这里封装的目的主要是不必重复的编写代码,避免时间的浪费。 使用的时候,引入所需的images、css、js文件,在需要的地方拷贝html结构,调用函数(函数所需参数:进度条数据项对象process,进度标识mark,插入位置对象即可) 效果展示 实现过程 index.js //根据进度状态变化样式效果 function initShow(process,mark,obj){//参数解释,process:进度数据;index:进度进程标识;obj:进度结构插入对象 var html='' process.map(function(ele,index){ html+='<li><div class="process-bar"><span class="line-top"></span>'; //图标变更 if(index+1<=mark){ html+='<img src="./images/sucess.png" alt="图标"/>' } else{ html+='<img src="./images/unsucess.png" alt="图标"/>' } // 去除最后一项下部线条 if(index+1==process.length){ html+='</div>' } else{ html+='<span

PHP 之sha256 sha512封装

懵懂的女人 提交于 2019-12-18 12:04:39
PHP 之sha256 sha512封装 /* PHP sha256 sha512目前(PHP 7.1)没有内置的函数来计算,sha1() sha1_file() md5() md5_file()分别可以用来计算字符串和文件的sha1散列值和md5散列值,当前最新版本PHP 7.1 sha256() sha256_file() sha512() sha512_file()这样的函数也没有。SHA-2是SHA-224、SHA-256、SHA-384,和SHA-512的合称。 PHP 计算sha256 sha512可以使用hash()函数实现,计算文件的sha256 sha512则可以使用hash_file()实现。 hash($algo , $data, $rawOutput); hash_file($algo , $filepath, $rawOutput); 其中$algo是算法,可以是sha256, sha512等值,支持的算法可以使用hash_algos()查看,该函数返回所有支持的算法。 $data是需要计算hash值的字符串,$filepath是需要计算hash值的文件名,可以是相对路径也可以是绝对路径。 $rawOutput是一个可选的布尔值参数,如果为true,则返回二进制数据,如果为false则返回字符串,默认值为false. 我们可以封装自定义函数来实现PHP

JS---变速动画函数封装

左心房为你撑大大i 提交于 2019-12-18 11:58:57
变速动画函数封装 匀速动画:每次步数都是10 (var step=10;) 变速(缓动)动画:每次的步数是用当前位置和目标位置相减 var step=(target-current)/10; 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <style> * { margin: 0; padding: 0; } div { margin-top: 20px; width: 200px; height: 100px; background-color: green; position: absolute; left: 0; top: 0; } </style> </head> <body> <input type="button" value="移动到400px" id="btn1" /> <input type="button" value="移动到800px" id="btn2" /> <div id="dv"> <script src="common.js"></script> <script> //点击按钮移动div my$("btn1").onclick = function () { animate(my$("dv"), 400); };

react,react-router,redux+react-redux 构建一个React Demo

亡梦爱人 提交于 2019-12-17 18:17:06
创建初始化应用 加速我们的npm。 npm install -g cnpm --registry=https://registry.npm.taobao.org 利用create-react-app 创建项目,执行下面创建我们的demo-react应用: cd ......到你自己的路径 create-react-app reactdemo 我习惯使用VSCode,我用vscode打开这个文件夹,目录结构如下。 安装需要的依赖 我们的项目需要: react-router: react-router-dom redux react-redux 在VSCode中打开powershell(Ctrl+`) 依次安装 cnpm install react-router --save cnpm install react-router-dom --save cnpm install redux --save cnpm install react-redux --save 打开package.json可以看到我们使用的版本: 不同的版本使用是有一些区别的,尤其路由使用上 创建几个组件页面 在src下创建几个文件夹存放我们使用的组件 在各自文件夹下创建组件js Login.js import React,{ Component } from 'react'; //=====组件=====

原生JS封装运动框架

喜你入骨 提交于 2019-12-17 09:53:15
昨天我们说了一下原生JS中常用的兼容性写法,今天我们来说一下运动框架. 正常情况下我们要写一个运动的效果会用到tween.js这么一个插件,这个东西不是一般人写出来的,因为里面涉及的运动效果都是经过一堆数学的函数运算出来的,我们平常人是写不出来的,所有我们就自己封装一个运动框架,有什么问题改起来也方便,下面我们就开始封装. 首先,我们先写一个div,设置一些简单的样式,我们就拿这个div举例子,如下代码: #div{   width: 100px;   height: 100px;   background: gold;   position: absolute;   left:0;   top:0;   opacity: 1; } 然后我们就开始写js代码了,如下: window.onload=function() {   var oDiv = document.getElementById("div");   var timer; 写一个函数,方便以后用的时候直接调用就好了,首先先传入几个参(要运动的对象,变动的属性,终点距离,运动总时间,回调函数)----今天的只是简单的封装一下,你也写可以传入一个json   function move(obj,name, target, dur,fn) { // 总步数=总时间÷计时器设定的时间   var count =

Python之旅.第五章.面向对象

时光怂恿深爱的人放手 提交于 2019-12-17 09:29:26
/*--> */ /*--> */ 一、组合 解决类与类之间代码冗余问题有两种解决方案: 1 、继承 2 、组合 1 、继承:描述的是类与类之间,什么是什么的关系 2 、组合:描述的是类与类之间的关系,是一种什么有什么关系;一个类产生的对象,该对象拥有一个属性,这个属性的值是来自于另外一个类的对象 # 组合不属于继承 # 类的使用将变量及处理其的函数捆绑起来 # 继承是强耦合,组合是解耦合 class Date: def __init__(self,year,mon,day): self.year = year self.mon = mon self.day = day def tell_birth(self): print(' 出生年月日 <%s-%s-%s>' % (self.year, self.mon, self.day)) class OldboyPeople: school = 'oldboy' def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex class OldboyTeacher(OldboyPeople): def __init__(self,name,age,sex,level,salary): super().__init__(name,age

mybatis之foreach用法

故事扮演 提交于 2019-12-17 04:15:39
在做mybatis的mapper.xml文件的时候,我们时常用到这样的情况:动态生成sql语句的查询条件,这个时候我们就可以用mybatis的foreach了 foreach元素的属性主要有item,index,collection,open,separator,close。 item: 集合中元素迭代时的别名,该参数为必选。 index :在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选 open :foreach代码的开始符号,一般是(和close=")"合用。常用在in(),values()时。该参数可选 separator :元素之间的分隔符,例如在in()的时候,separator=","会自动在元素中间用“,“隔开,避免手动输入逗号导致sql错误,如in(1,2,)这样。该参数可选。 close: foreach代码的关闭符号,一般是)和open="("合用。常用在in(),values()时。该参数可选。 collection: 要做foreach的对象,作为入参时,List对象默认用"list"代替作为键,数组对象有"array"代替作为键,Map对象没有默认的键。当然在作为入参时可以使用@Param("keyName")来设置键,设置keyName后,list,array将会失效。 除了入参这种情况外

C# 面向对象:封装、继承、多态

一曲冷凌霜 提交于 2019-12-17 01:54:47
面向对象有封装、继承、多态这三个特性,面向对象编程按照现实世界的特点来管理复杂的事物,把它们抽象为对象,具有自己的状态和行为,通过对消息的反应来完成任务。这种编程方法提供了非常强大的多样性,大大增加了代码的重用机会,增加了程序开发的速度,将具备独立性特制的程序代码包装起来,修改部分程序代码时不至于会影响到程序的其他部分。 1.封装 每个对象都包含它进行操作所需要的所有信息,封装只公开代码单元的对外接口,而隐藏其具体实现,尽量不对外公开代码。使用封装有很多好处,从设计角度来讲,封装可以对外屏蔽一些重要的信息,比如使用电脑的人只要知道怎么使用电脑就可以,不用知道这些功能具体是怎么实现的;从安全性考虑,封装使对代码的修改更加安全和容易,封装明确的指出了哪些属性和方法是外部可以访问的,这样当需要调整这个类的代码时,只要保证公有属性不变,公有方法的参数和返回值类型不变,那么就可以尽情的修改这个类,而不会影响到程序的其他部分;封装还避免了命名冲突的问题,封装有隔离作用,不同的类中可以有相同名称的方法和属性,但不会混淆,也可以减少耦合。 2.继承 继承可以使用现有类的所有功能,并在无须重新编写原来的类的情况下,对这些功能进行扩展。使用继承而产生的类被称为派生类或子类,而被继承的类则称为基类或超类或父类。继承表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数,其子类是对父类的扩展

Python中面向对象编程(OOP)的概述

我的梦境 提交于 2019-12-17 00:23:40
一.面向对象概述 面向对象编程:Object Oriented Programming(简称OOP) 1、面向对象的概念 <1>面向对象侧重于由谁来做这件事,相比较函数,面向对象是一个更大的封装,根据职责在一个“类”中封装多个“方法”。 <2>完成某一个需求前,首先确定要做的事(这些事就是“方法”) <3>根据职责确定不同的“对象”,在“对象”内部封装不同的“方法”(多个) <4>最后完成代码,就是顺序的让不同的“对象”调用不同的“方法” 2、面向对象的特点 <1>注重对象和职责,不同的对象承担的职责不同 <2>更加适合复杂的需求变化 <3>需要在面向过程的基础上,学一些面向对象的语法 3、补充:面向过程的概念 <1>侧重于怎么做这件事 <2>把完成某一个需求的所有步骤从头到尾逐步实现 <3>根据开发要求,将某些功能独立的代码封装成一个又一个函数 <4>最后完成代码,就是顺序的调用不同的函数 二.面向对象的 核心概念 面向对象有两个核心概念,一个是 类 ,一个是 对象 1、 类 (1)什么是类 “类”是一类具有相同特征或行为的事物的一个统称。 比如各种人都属于“人”,各种品种的猫都属于“猫”,各种动物都属于“动物”等。 (2)类由什么构成 理解举例:马冬梅今年19岁,身高170cm,鞋码38,喜欢早上吃包子,喜欢跑步。 <1> 属性 属性是这一类事务的共同信息,特征之类。 如例句中