面向对象编程思想

class Piece {/* 棋子类 */constructor(canvas) {/* 构造方法 */this.cs = canvas; /* 绑定画布 */this.pRadius = 20; /* 规定棋子半径 */}log() {console.log(this.pRadius);}
}
class Checkerboard {/* 棋盘类 */constructor(canvas,style) {this.cs = canvas;this.length = 50; /* 规定方格长度 */this.se=style;}draw() {let width = parseInt(this.se.width);let height = parseInt(this.se.height);// let height = parseInt(this.cs.style.height);this.cs.clearRect(0, 0, width, height);this.cs.save();this.cs.fillStyle='rgb(174, 107, 45)'this.cs.fillRect(0, 0, width, height);console.log(width, height);this.cs.restore();for (let i = 0; i < 12; i++) {for (let j = 0; j < 12; j++) {this.cs.strokeRect(i * this.length, j * this.length, (i + 1) * this.length, (j + 1) * this.length)if (i == 3 && j == 3||i==9&&j==3||i==3&&j==9||i==9&&j==9||i==6&&j==6) {this.cs.beginPath();this.cs.arc(i * this.length, j * this.length, 3, 0, 2 * Math.PI, false);this.cs.fill();}}}}
}
document.ready = init; /* JS程序起点 */
function init() {/* 获取画布对象 */let c1 = document.getElementById('c1');let c1_style=window.getComputedStyle(c1,null);if (c1.getContext) {c1 = c1.getContext('2d');}/* 棋盘实例 */let cb1 = new Checkerboard(c1,c1_style);cb1.draw();/* 棋子实例 */let p1 = new Piece(c1);p1.log();}

@沉木

面向对象编程起步——神来之笔相关推荐

  1. 穿越梦想 起锚远航──金旭亮新作《.NET 4.0面向对象编程漫谈》

    注: 本人之新作--<.NET 4.0面向对象编程漫谈>之<基础篇>已经完成了出版前的各项准备工作,估计11月份可以上市,<应用篇>可能会晚一点推出. 本书< ...

  2. 新作《.NET 4.0面向对象编程漫谈》之序“穿越梦想、起锚远航”

    序 穿越梦想 起锚远航 注: 本人之新作--<.NET 4.0面向对象编程漫谈>之<基础篇>已经完成了出版前的各项准备工作,估计11月份可以上市,<应用篇>可能会晚 ...

  3. 为准大学生准备的C/C++编程起步教程

    最近越来越多的其它领域的大佬陆陆续续来找我 "垂询" 编程起步的方法了,攥写本文一是考虑到逐个回复所费时间甚多,二者是鄙人的脑子实在不是很好用总是会出现记漏东西或者表述不清的情况. ...

  4. 【面向对象编程】(4) 类的继承,重构父类中的方法

    各位同学好,今天和大家分享一下面向对象编程中,类的三大特征之继承.主要介绍:子类继承父类的基本方法:重写父类的类方法:重构父类的初始化方法:super() 方法.本节主要是单继承,多继承在下一节中介绍 ...

  5. 【面向对象编程】(3) 类之间的交互,依赖关系,关联关系

    各位同学好,今天和大家分享一下面向对象编程中,类之间的交互,类之间的依赖关系和关联关系.有不明白的可见前一章节:https://blog.csdn.net/dgvv4/article/details/ ...

  6. 【面向对象编程】(1) 类实例化的基本方法

    各位同学好,本章节和大家分享一下面向对象编程的一些方法,通过一些案例带大家由浅入深掌握面向对象的编程. 1. 最基本的类实例化 创建类的方法是 class 变量名: ,实例化方法是 类名() ,分配属 ...

  7. C#编程概念系列(一):面向对象编程

    系列文章索引目录:http://www.cnblogs.com/loner/archive/2013/05/09/3068211.html 引子: 面向对象编程:这个在当下已不是什么时髦的概念,但通过 ...

  8. JavaScript面向对象编程

    自从有了Ajax这个概念,JavaScript作为Ajax的利器,其作用一路飙升.JavaScript最基本的使用,以及语法.浏览器对象等等东东在这里就不累赘了.把主要篇幅放在如何实现JavaScri ...

  9. python面向对象的优点_Python面向对象编程——总结面向对象的优点

    Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...

最新文章

  1. blob二进制显示在html,使用Blob获取图片并二进制显示实例页面
  2. 联手小米,雀巢中国推出健康管家Nesfinity,满足个性化生活需求管理
  3. 目标检测中的数据格式转换工具Roboflow
  4. java泰坦宙斯之战程序_泰坦 - 宙斯之战 相关知识点: 1. 使用随机类 2. 类的成员变量 3. 类的成员方法 4. 带参构造器_电商题库2017(学测)答案_学小易找答案...
  5. .NET中如何通过文本框中按回车键进行的提交数据
  6. 张永伟 大数据会成为互联时代重要变革
  7. 汪子熙的SAP技术文章分类合集
  8. css禁用选中文本_使用CSS禁用文本选择突出显示
  9. Recreate failovered primary database using Flashback Database
  10. Linux下如何安装jdk
  11. java wmic_强大的命令行工具wmic
  12. 【C语言及程序设计】项目1-4-2-4:计算圆柱体表面积
  13. 前后端不分离,分页器组件(python-dango)
  14. 联想ideapad 330c 15Ikb换内存条注意!!!!!只有一个插槽
  15. Mac Webpack Vue项目的搭建
  16. Maven导入依赖时显示Duplicated tag: ‘dependencies‘ (position: START_TAG seen ...</properties>\r\n\r\n <depen
  17. python符号积分
  18. 转载:关于Vivado综合选项——Out of context per IP和Gobal
  19. 自制表情包!android,diy表情包制作软件下载-diy表情包 安卓版v2.6.0-PC6安卓网
  20. 中职计算机学校名师工作室,用心耕耘——记浙江省中职名师工作室领衔人卜连英...

热门文章

  1. Java新手之Java 从代码到运行的过程
  2. JDK源码系列(6)-StringBuilder
  3. 2459: 爱你多少年呢
  4. 计算机画画作品 人物 游泳,夏天主题的儿童画-游泳的儿童绘画作品
  5. Node.js之HTTP模块学习
  6. El表达式和fn函数一起使用
  7. oracle菜鸟学习之 复杂的更新语句使用
  8. Derek解读Bytom源码-P2P网络 地址簿
  9. PATH和CLASSPATH
  10. ssh 双机互信配置记要