1. 一.今日内容总览(上帝视角,大象自己进冰箱,控制时机)
    #转换思想(从面向过程到面向对象)
  2.  
  3. 1.初识面向对象
    面向过程:
    一切以事物的发展流程为中心.
    面向对象:
    一切以对象为中心,一切皆为对象,具体的某一个事务就是对象
    作用:两者(面向过程&面向对象)是相辅相成的作用
  4.  
  5. 打比方:(开车去新疆)
    大象进冰箱
    步骤:1.开门,2.装大象,3.关门
  6.  
  7. 面向对象:大象,你进冰箱
    此时主语是大象,我操纵的就是大象,此时的大象就是对象
  8.  
  9. 2.类,对象
    (1)类:就是图纸,创建对象的第一步,先画图纸,先写类
      对象:对象就是车,通过图纸造出来的具体的东西,通过类来创建对象
  10.  
  11. (2)类与对象的关系:
    A.类是对xxx事物的抽象归类.
    写:
    __init__(self,参数) 参数一般作为属性设置给对象,对象就是self,对属性的封装
  12.  
  13. def 方法(self,参数):#方法:第一个参数默认是self,当前类的对象,一般也不起其他的
    pass
  14.  
  15. B.对象是xxx类型的一个具体.
    创建对象: 类名()
  16.  
  17. (3)创建类:(最实际的东西)
    class 类名:
    def __init__(self): #初始化方法,又被称为构造方法(这里暂时这样记忆)
    self.属性=值
    self.属性=值
    self.属性=值
  18.  
  19. def fangfa(self):
    方法体(函数体,return)
  20.  
  21. (4)创建对象:
    变量=类名() #实例化<=>创建对象
  22.  
  23. 变量.属性 #访问对象的属性信息
    变量.方法() #访问类中的方法
  24.  
  25. 3.面向对象和面向过程的对比
    如果写一些比较小的程序用面向过程.
    程序很复杂,很庞大建议用面向对象.
    (前面的东西都是基础,基础就是铺垫,但是那才是核心,现在是进一步升华)
  26.  
  27. 4.面向对象的三大特征
    (1)封装
    1.对属性的封装(__init__())
    self.xxx=xxx
  28.  
  29. 2.对方法和功能的封装
  30.  
  31. (2)继承
    子类自动拥有父类中出了私有内容外的其他所有内容
  32.  
  33. class Bar(Foo): #Bar对Foo进行了扩展
    pass
  34.  
  35. 当出现x是一种y的时候,推荐使用继承关系
    python支持多继承,查找顺序:先找离他近的.(就近原则)
  36.  
  37. (3)多态(python原生直接就是多态)
    鸭子模型:python(其他很多语言也是)更多的支持的是鸭子模型,只要会嘎嘎叫的就是鸭子

二.今日内容大纲

1.类与对象

2.面向对象和面向过程

3.封装

4.继承

5.多态

三.今日内容详解

1.类与对象

(1)

  1. class Car: #好习惯类名首字母大写,严格遵守驼峰命名规范
  2. pass
  3. #造车
  4. c=Car() #类名() #创建对象
  5. #出厂之后进行改装
  6. c.color='红颜色' #对象.属性 点:的
  7. c.pai='京A888' #对象.属性
  8. c.pailiang='666L' #排量
  9.  
  10. print(c.color) #红颜色
  11. print(c.pai) #京A888
  12. print(c.pailiang) #666L
  13.  
  14. c.color='绿颜色' #当属性存在的时候是修改属性信息
  15. #对象.属性=xxxx 设置属性信息
  16. print(c.color) #绿颜色
  17.  
  18. # 对比:
  19. dic={}
  20. dic['jay']='周杰伦'
  21. print(dic)
  22. dic['jay']='alex'
  23. print(dic)
  24.  
  25. #对象其实内部机制就是字典

(2)

  1. class Car: #好习惯类名首字母大写,严格遵守驼峰命名规范
  2. pass
  3.  
  4. #造车
  5. c=Car() #类名() #创建对象
  6. #出厂之后进行改装
  7. c.color='红颜色' #对象.属性 点:的 当属性不存在的时候,添加一个属性
  8. c.pai='京A888' #对象.属性
  9. c.pailiang='666L' #排量
  10.  
  11. c2=Car()
  12. c2.color='蓝色'
  13. c2.pai='京B66666'
  14. c2.pailiang='1.6T'
  15.  
  16. c3=Car()
  17. c3.color='蓝色'
  18. c3.pai='上A99999'
  19. c3.pailiang='3.0L'

(3)

  1. class Car: #好习惯 类名首字母大写,严格遵守驼峰命名规范
  2. #__init__方法是一个特殊的方法,初始化方法(暂时这么记忆,构造方法)
  3. #在创建对象的时候回自动的调用__init__()
  4. #self就是你创建出来的那个对象
  5. def __init__(self,color,pai,pailiang): #init初始化方法,在创建对象的时候,默认执行这个函数
  6. # print('我是init') #结果:我是init
  7. # print('self=',self) #结果:self= <__main__.Car object at 0x000001B82F177550>
  8. # self.color='红色' #在出厂的时候都是红色
  9. self.color=color
  10. self.pai=pai
  11. self.pailiang=pailiang
  12. # c.color = "红色"
  13.  
  14. # c=Car('红','鲁A111','3.0L') #创建Car类型对象,此时self参数不需要我们管
  15. # print('C=',c) #结果:C= <__main__.Car object at 0x000001B82F177550>
  16. #总结:c和self是同一个对象
  17. c=Car('红色','京A88888','555L') #创建Car类型对象,此时self参数不需要我们管
  18. c2=Car('蓝色','京B66666','1.6T')
  19. print(c.color)
  20. print(c2.color)
  21.  
  22. #self对应一块内存地址

(4)

  1. #车需要跑:动作,功能=>函数
  2. #在类中写的函数=>方法
  3.  
  4. class Car: #好习惯 类名首字母大写,严格遵守驼峰命名规范
  5. def __init__(self,color,pai,pailiang): #init初始化方法,在创建对象的时候,默认执行这个函数
  6. self.color=color
  7. self.pai=pai
  8. self.pailiang=pailiang
  9.  
  10. # 跑: 动作, 功能 -> 函数
  11. # 在类中写的函数 -> 方法
  12. # self 当前类的对象.
  13.  
  14. def pao(self): #self是自动传递的,不用管它
  15. print('%s,我的车能跑'%self.color)
  16. def jump(self):
  17. print('%s,you jump,I jump'%self.color)
  18. c=Car('红色','京A88888','555L') #创建Car类型对象,此时self参数不需要我们管
  19. c2=Car('蓝色','京B66666','1.6T')
  20. print(c.color)
  21. print(c2.color)
  22. c.pao() #车c跑
  23. c2.pao()
  24. c.jump()

(5)

  1. class Phone:
  2. def __init__(self,color,dianchi,num,price):
  3. self.color=color
  4. self.dianchi=dianchi
  5. self.num=num
  6. self.price=price
  7.  
  8. def call(self,ren):
  9. print('使用我的%s颜色价格%s的电话打个%s'%(self.color,self.price,ren))
  10. def play(self):
  11. print('电话可以打游戏')
  12.  
  13. sj=Phone('黑色','5WmA','','9w欧元')
  14. sj.call('嫂子')
  15. sj.play()

(6)练习1版本

  1. (1)
  2. #创建一个武松,武松可以打老虎,杀嫂子,替天行道
  3. class haohan():
  4. def __init__(self,name,nickname):
  5. self.name=name
  6. self.nickname=nickname
  7. print('好汉%s,绰号%s'%(self.name,self.nickname))
  8. def play(self,ren):
  9. print('%s 可以打老虎,杀嫂子,替天行道'%ren)
  10. hh=haohan('武松','行者')
  11. hh.play('武松')
  12. (2)
  13. #⽤⾯向对象的思维来模拟LOL⾥的盖伦上阵杀敌.
  14. class hero():
  15. def __init__(self,name):
  16. self.name=name
  17. print('英雄是:%s'%(self.name))
  18. def skill(self,Q,W,E,R):
  19. print("Q技能是%s,W技能是%s,E技能是%s,R技能是%s"%(Q,W,E,R))
  20. # print("名字%s,Q技能是%s,W技能是%s,E技能是%s,R技能是%s"%(self,Q,W,E,R))
  21. h=hero('盖伦')
  22. h.skill('快溜','转子','双倍打击','大保健')
  23.  
  24. # hero.skill('盖伦','快溜','转子','双倍打击','大保健')
  25. # hero.skill('艾希','快溜','转子','双倍打击','大保健')
  26. (3)#编写和尚类. ⾃⼰⾃由发挥和尚有哪些属性和⽅法.
  27.  
  28. class monk():
  29. def __init__(self,name,home,fahao):
  30. self.name=name
  31. self.home=home
  32. self.fahao=fahao
  33. def action(self,ren):
  34. print('%s,吃狗肉,敲木鱼,念经,吃斋'%(ren))
  35. m=monk('济公','灵隐寺','道济')
  36. m.action('济公')
  37.  
  38. (4)
  39. #用面向对象的思维来完成用户登录
  40. class user_login():
  41. def __init__(self,name,pwd):
  42. self.name=name
  43. self.pwd=pwd
  44. def login(self):
  45. if self.name=='alex'and self.pwd=='ab':
  46. print('登录成功')
  47. else:
  48. print('登录失败')
  49. ul=user_login('alex','ab')
  50. ul.login()

2版本

  1. #类就是对属性和动作的封装
  2. '''
  3. 1. 创建⼀个武松. 武松可以打老虎, 杀嫂⼦, 替天⾏道
  4. 2. ⽤⾯向对象的思维来模拟LOL⾥的盖伦上阵杀敌.
  5. 3. 编写和尚类. ⾃⼰⾃由发挥和尚有哪些属性和⽅法
  6. 4. ⽤⾯向对象的思维来完成⽤户登录.
  7. '''
  8. #属性和方法
  9. (1)
  10. class Person:
  11. #属性
  12. def __init__(self,waihao,name,address):
  13. self.waihao=waihao
  14. self.name=name
  15. self.address=address
  16. #动作
  17. def dalaohu(self):
  18. print("%s%s%s打老虎"%(self.waihao,self.name,self.address))
  19.  
  20. def shasaozi(self):
  21. print('这个人,喜欢杀嫂子')
  22.  
  23. def titianxingdao(self):
  24. print('替天行道')
  25.  
  26. ws=Person('行者','武松','景阳县')
  27. ws.dalaohu()
  28. ws.shasaozi()
  29. ws.shasaozi()
  30. ws.titianxingdao()
  31.  
  32. (2)
  33. class Hero:
  34. def __init__(self,waihao,name,story):
  35. self.waihao=waihao
  36. self.name=name
  37. self.story=story
  38.  
  39. def q(self):
  40. print('拎着宝剑嗷嗷跑')
  41. def w(self):
  42. print('护盾')
  43. def e(self):
  44. print('电风扇')
  45. def r(self):
  46. print('大保健')
  47.  
  48. gw=Hero('德玛西亚之力','盖伦','500年前盖伦拿一个破棍子捅破玉皇大帝...')
  49. gw.w()
  50. gw.e()
  51. gw.q()
  52. gw.r()
  53.  
  54. (3)
  55. class HeShang:
  56. def __init__(self, fh, name, miao):
  57. self.fahao = fh
  58. self.name = name
  59. self.miao = miao
  60.  
  61. def nianjing(self):
  62. print("和尚会念经")
  63.  
  64. def huayuan(self):
  65. print("和尚会化缘")
  66.  
  67. lzs = HeShang("花和尚", "鲁智深", "梁山水庙")
  68.  
  69. lzs.nianjing()
  70. lzs.huayuan()
  71. (4)
  72. #用户登录的问题,逻辑是活的
  73.  
  74. #我的版本:把所有的逻辑都写在类中
  75. class User:
  76. def __init__(self,username,password):
  77. self.username=username
  78. self.password=password
  79. def login(self):
  80. uname=input('请输入你的用户名')
  81. upwd=input('请输入你的密码')
  82.  
  83. if uname==self.username and upwd==self.password:
  84. print("登录成功")
  85. else:
  86. print("登录失败")
  87.  
  88. u = User("alex", "")
  89. u.login()

2.面向对象和面向过程

(1)

  1. #大象装冰箱
    # print('开门')
    # print('装大象')
    # print('关门')

(2)

  1. #脚本,此时代码是最简单的,不需要构思整个程序的概况

(3)

  1. 函数式编程,比脚本麻烦,对功能有了'概况'

(4)

  1. def kai():
  2. print('开门')
  3. def zhuang():
  4. print('装大象')
  5. def guan():
  6. print('关门')
  7. kai()
  8. zhuang()
  9. guan()
  1. 第一回合
    脚本胜
    函数侧重的是功能
    面向对象侧重的是:归类

(5)

PK2

  1. # PK2!!!!!!!!
  2. #小猪佩奇,使用嘴巴嘟嘟技能攻击 超人
  3. #小猪佩奇,使用嘴巴嘟嘟技能攻击 蝙蝠侠
  4. #小猪佩奇,使用嘴巴嘟嘟技能攻击 蜘蛛侠
  5.  
  6. #面向过程:代码非常的冗余,尤其是参数
  7. def fight_superman(name,jineng):
  8. print('%s使用%s攻击超人'%(name,jineng))
  9. def fight_spiderman(name,jineng):
  10. print('%s使用%s攻击蜘蛛侠'%(name,jineng))
  11. def fight_batman(name, jineng):
  12. print('%s使用%s攻击蝙蝠侠' % (name, jineng))
  13.  
  14. fight_superman('小猪佩奇','嘴巴嘟嘟')
  15. fight_spiderman('小猪佩奇','嘴巴嘟嘟')
  16. fight_batman('小猪佩奇','嘴巴嘟嘟')
  17.  
  18. class Pig:
  19. def __init__(self,name,jineng):
  20. self.name=name
  21. self.jineng=jineng
  22.  
  23. def fight_superman(self):
  24. print('%s使用%s攻击超人' % (self.name, self.jineng))
  25.  
  26. def fight_spiderman(self):
  27. print('%s使用%s攻击蜘蛛侠' % (self.name, self.jineng))
  28.  
  29. def fight_batman(self):
  30. print('%s使用%s攻击蝙蝠侠' % (self.name, self.jineng))
  31.  
  32. #不需要像原来一样传递一样的参数了
  33. #面向对象的程序:结果相对清晰.缺点:代码量比原来大,上手太难
  34. pg=Pig('小猪佩奇','嘴巴嘟嘟')
  35. pg.fight_batman()
  36. pg.fight_superman()
  37. pg.fight_spiderman()
  38.  
  39. #学完之后,再学java才真正明白

(6)

  1. #如果写一个定时任务,半夜12点,给老板发送财务报表(一张图)
  2. # def send_email(address,name,title,content):
  3. # print('发送邮件')
  4. # def send_chat(address,name,title,content):
  5. # print('发送短信')
  6. # def send_wechat(address,name,title,content):
  7. # print('发送微信')
  8. # def send_dd(address,name,title,content):
  9. # print('发送钉钉')
  10. # def send_oa(address,name,title,content):
  11. # print('发送OA')
  12.  
  13. # send_dd()
  14. # send_email()
  15. # send_oa()
  16. # send_wechat()
  17. # send_chat()
  18. #
  19. #
  20. # class Messager:
  21. # def __init__(self,name,title,content):
  22. # self.name=name
  23. # self.title=title
  24. # self.content=content
  25. #
  26. # def send_email(address, name, title, content):
  27. # print('发送邮件')
  28. #
  29. # def send_wechat(address, name, title, content):
  30. # print('发送微信')
  31. #
  32. # def send_chat(address, name, title, content):
  33. # print('发送短信')
  34. #
  35. # def send_dd(address, name, title, content):
  36. # print('发送钉钉')
  37. #
  38. # def send_oa(address, name, title, content):
  39. # print('发送OA')
  40.  
  41. #用面向对象就比面向过程稍微好一些
  42. #可维护性比原来好
  43.  
  44. #python同时支持面向对象和面向过程:
  45. #面向过程:应用程序相对比较小,不需要大规模的设计
  46. #面向对象:程序非常大,项目管理,维护成本很高,此时更适合用面向对象(结构)
  47.  
  48. #tornado
  49. #java:纯面向对象 =>可以把一个微小项目,做成巨大项目

3.封装

  1. 1.对属性的封装
    2.对功能的封装
    3.模块 (在一个模块中封装了很多类)
    4.
    (1)
  1. class Student: #封装需要的就可以了
  2. def __init__(self,num,name,clazz):
  3. self.num=num
  4. self.name=name
  5. self.clazz=clazz
  6. # print()
  7.  
  8. stu=Student('','曹宝宝','三年级二班') #把多个信息(值),保存在一个对象里面
  9. stu2=Student('','王迪','三年级一班')
  10.  
  11. def kill_stu(s): #这是就是对属性进行封装
  12. print('杀%s'%(s.name))
  13. kill_stu(stu2)

(2)

  1. class Game:
  2. def login(self):
  3. print('登录')
  4.  
  5. def recharge(self):
  6. print('充钱')
  7.  
  8. def uninstall(self):
  9. print('卸载')#冲多了就卸了
  10.  
  11. def zhaoduixiang(self):
  12. print('找对象')
  13. g=Game() #强行安装一个主语
  14. g.recharge()

(3)

  1. class Game1:
  2. def recharge(self):
  3. print("充钱")
  4. def uninstall(self):
  5. print("卸载")
  6.  
  7. class Game2:
  8. def recharge(self):
  9. print("充钱")
  10. def uninstall(self):
  11. print("卸载")
  12.  
  13. g = Game2()
  14. g.uninstall()

4.继承

  1. 子类自动拥有父类中除了私有内容外的其他所有内容
    老婆不能继承,年龄不能继承(这些都属于'私有内容')
  2.  
  3. 王思聪(熊猫tv)=>王健林(年龄)
    getmoney 拿钱
  1. 继承的目的:对父类进行扩展

(1)

  1. class Foo:
  2. def getMoney(self):
  3. print('拿钱')
  4.  
  5. class Bar(Foo):
  6. pass
  7. b=Bar()
  8. b.getMoney() #此时调用的是父类中的方法
  9.  
  10. #当出现xxx是一种yyy类型的东西,可以使用继承关系
  11. #猫是一种动物

(2)

  1. class Animal:
  2. def dong(self):
  3. print('动物会动,雇佣')
  4. class Cat(Animal): #子类其实是对父类的一种扩展
  5. def catchMouse(self):
  6. print('猫很皮,抓老鼠')
  7.  
  8. c=Cat()
  9. c.dong()
  10. c.catchMouse()
  11.  
  12. a=Animal() #父类的对象不能执行子类中的功能
  13. a.dong()
  14. a.catchMouse() #父类不能对子类的方法操作,这句话会报错
  15. #创建的是动物,动物不能执行抓老鼠

(3)

  1. class Animal:
  2. def dong(self):
  3. print('动物会动,雇佣')
  4. class Cat(Animal): #子类其实是对父类的一种扩展
  5. def dong(self): #子类中写了和父类一模一样的方法,这个叫方法的覆盖,重写
  6. print('猫上蹿下跳')
  7.  
  8. def catchMouse(self):
  9. print('猫很皮,抓老鼠')
  10.  
  11. c=Cat() #创建的是猫
  12. c.dong() #类中的方法的查询顺序,先找自己,然后再找父类

(4)

  1. #python支持多继承
  2.  
  3. class Foo1:
  4. def getMoney(self):
  5. print('给钱,给你个大嘴巴子')
  6. class Foo2:
  7. def getMoney(self):
  8. print('给多点儿')
  9.  
  10. def play(self):
  11. print('玩儿')
  12. class Bar(Foo1,Foo2): #离当前类最近的是亲爹,后面的是干爹
  13. pass
  14. a=Bar() #就近原则,MRO的C3算法
  15. a.getMoney() #Foo2里的

5.多态

  1. 多态性:同一个对象,多种形态
    python支持的是鸭子类型,只要会嘎嘎叫的东西就是鸭子
    (哪怕不是鸭子//哪怕是鸭子,不会叫,也不行,也不能叫鸭子)
  2.  
  3. 为了程序能够正常执行,本来需要传递进来一只鸭子,但是我只需要传递一个会嘎嘎叫的东西就可以了

(1)归一化设计

  1. class Animal(object):
  2. def chi(self):
  3. print('会吃')
  4. class GlodenMonkey(Animal):
  5. def chi(self):
  6. print('用手拿着吃,五花八门')
  7. class Tiger(Animal):
  8. def chi(self):
  9. print('老虎吃肉')
  10. class Elephant(Animal):
  11. def chi(self):
  12. print('大象吃香蕉')
  13. class qie(Animal):
  14. def chi(self):
  15. print('企鹅吃人民币')
  16.  
  17. #以下代码是饲养员
  18. #优点:超强的可扩展性.面向对象的核心就是多态
  19.  
  20. def wei_animal(ani): #传进来的东西要会吃就行
  21. ani.chi()
  22.  
  23. #动物园
  24. t=Tiger()
  25. m=GlodenMonkey()
  26. e=Elephant()
  27.  
  28. wei_animal(t)
  29. wei_animal(m)
  30. wei_animal(e)
  1. a=188
  2. def cul(n):
  3. print(n) #python中万事万物都是对象,object(对象)
  4. cul(a)
  5. cul('')

作业:???(记得补充)

巨蟒python全栈开发-第16天 核能来袭-初识面向对象的更多相关文章

  1. 巨蟒python全栈开发-第20天 核能来袭-约束 异常处理 MD5 日志处理

    一.今日主要内容 1.类的约束(对下面人的代码进行限制;项目经理的必备技能,要想走的长远) (1)写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError(重点) (2)抽象 ...

  2. 巨蟒python全栈开发-第17天 核能来袭-成员

    一.今日主要内容 1.成员 在类中你能写的所有内容都是类的成员 2.变量 (1)实例变量:昨天写的就是实例变量,由对象去访问的变量. (2)类变量(静态变量):此时,这个变量属于类,但是对象也可以访问 ...

  3. 巨蟒python全栈开发-第19天 核能来袭-反射

    一.今日主要内容 1.isinstance,type,issubclass A.isinstance: 判断你给对象是否是xx类型的. (向上判断) B.type: 返回xxx对象的数据类型 C.is ...

  4. 巨蟒python全栈开发-第18天 核能来袭-类和类之间的关系

    一.今日主要内容: 1.类与类之间的关系 在我们的世界中事物和事物之间总会有一些联系. 在面向对象中,类和类之间也可以产生相关的关系 (1)依赖关系 执行某个动作(方法)的时候,需要xxx来帮助你完成 ...

  5. python 全栈开发,Day19(组合,组合实例,初识面向对象小结,初识继承)

    一.组合 表示的一种什么有什么的关系 先来说一下,__init__的作用 class Dog: def __init__(self, name, kind, hp, ad): self.name = ...

  6. python全栈开发从入门到放弃之初识面向对象

    面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复 ...

  7. 巨蟒python全栈开发linux之centos1

    1.linux服务器介绍 2.linux介绍 3.linux命令学习 linux默认有一个超级用户root,就是linux的皇帝 注意:我的用户名是s18,密码是centos 我们输入密码,点击解锁( ...

  8. 巨蟒python全栈开发linux之centos3

    1.作业讲解 (1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng} 下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其 ...

  9. 巨蟒python全栈开发django5:组件&&CBV&FBV&&装饰器&&ORM增删改查

    内容回顾: 补充反向解析 Html:{% url ‘别名’ 参数 %} Views:reverse(‘别名’,args=(参数,)) 模板渲染 变量 {{ 变量名 }} 逻辑相关 {% %} 过滤器: ...

随机推荐

  1. asp.net,cookie,写cookie,取cookie(转载)

    Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一.Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一 ...

  2. django学习笔记【002】创建第一个django app

    2.3.3 1.创建一个名叫polls的app python3. manage.py startapp polls tree mysite/ mysite/ ├── db.sqlite3 ├── ma ...

  3. unity, Global和Local编辑模式

    下图表示是在Local模式下: 下图表示是在Global模式下: 不要搞反.

  4. 强大的Vivado IP工具——自定义IP的使用

    首先,要指出,本文不描述任何IP的功能与使用.   在开发一个大型FPGA项目时,多人协作是必不可少的.这个时候,如何提交设计给负责集成的人,是项目开发中最关键的问题之一. 常用的一个方法是,提交网表 ...

  5. Android Studio编译的时候提示Gradle无法下载的解决方案

    首先,打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件.内容如下:#Wed Apr 10 15:27:10 P ...

  6. 兼容IE getElementsByClassName取标签

    function getElementsByClassName(className,root,tagName) { //root:父节点,tagName:该节点的标签名. 这两个参数均可有可无 if( ...

  7. linux应用time和timezone

    linux中应用层(非内核层)time是怎样处理的?时区是怎样设置的?夏令时时是怎样实现的?NTP时间同步是怎么回事?本篇文章就在嵌入式linux应用中time和timezone相关问题总结. 1. ...

  8. jQuery中jsonp的跨域处理,no access-control-allow-origin,unexpected token

    引言 ajax跨域就无法成功获取数据了,需要通过jsonp来处理 报错如下 1.改为jsonp var targeturl = ajaxurl+"?g=Api&m="+m+ ...

  9. centos yum安装及手动编译ettercap

    眼下流行的软件包有二种形式 ,一种是以rpm包,deb包为代表的智能安装包.还有一种是以file.tar.gz形式的压缩 一 智能安装 以 mysql为例 yum search mysqld 二 手动 ...

  10. db_keep_cache_size參数的控制范围測试

    ocm考试新题中.须要创建keep存储的表,但在该參数是否应该改动上,有一些分歧.有人说asmm会自己主动给keep分配内存的,该參数就不用设置了. 看文档和asktom.也是云山雾罩,说什么的都有, ...