1:面向对象不是所有情况都适用。

2面向对象编程

a:定义类

calss Foo:                    注意顶一个类的时候首字母必须是大写

       def (方法一)(self,bb)

               pass

b:根据创建对象,创建和Foo实列的。

使用对象去类中找方法。

3:self,是一个形式参数,python内部传递的。

4:类+括号就会自动执行类中的__init__方法:创建了一个对象在__init__方法中执行具体的封装操作。

__init__:有一个特殊的名字:构造方法

__del__:解释器销毁对象的时候会自动调用,特殊的名字:析构方法
封装: 使用场景:当同一类型的方法具有相同的参数时,直接封装到对象即可。 使用场景:把类当做模板,创建多个对象(对象内封装的数据可以不一样) 5:派生类可以继承基类中的所有功能。 6:派生类和基类同时存在,优先找派生类。 面向对象有三个特性: 封装 , 继承 , 多态。
面向对象编程,类,def函数。          参考:
class Oldboy: 定义类
def fetch(self,backend):
print(backend)
def add_record(self,backend,record):
pass
#创建对象
ret = Oldboy()
   ret.fetch("www.xxx.com") ret.add_record("www.xxx.com","www.ooo.com") #这个不执行 #输出结果 www.xxx.com
class OldBoy:
def __init__(self,bk): #bk是形参,对应外部穿过来的实参
'''
构造方法
:return: bk
'''
self.backend = bk #self.backend = bk相当于在__init__中bk的参数 def fetch(self):
print('fetch中self的内存地址:',self)
return self.backend #backend用来接收init方法中bk的参数 def add_record(self,record):
print('add_record中self的内存地址:',self)
return self.backend + record obj = OldBoy("www.oldboy.org") #创建了一个对象obj,然后把www.oldboy.org封装到类中对应的形参bk
# obj.backend = "www.oldboy.org"
print('obj对象的内存地址:',obj)
ret = obj.fetch()
print(ret) obj2 = OldBoy(2)
# obj2.backend = 2
print('obj2对象的内存地址:',obj2)
ret = obj2.add_record(3)
print(ret)
class Abcd:          #父类
def chi(self):
print(self,name +"吃" )
def he(self):
print(self,name + "喝")
class Dog(Abcd): #继承父类
def __init__(self,name):
sela.name = name
def jiao(self):
print(self.name + "汪")
ret = Dog("小黑")
ret.chi()
ret.he()
ret.jiao() #执行结果
小黑 吃
小黑 喝
小黑 汪
#多个继承
class Abcd(object):
def f1(self):
print("Abcd")
class A(Abcd):
def f(self):
print("A")
class B(Abcd):
def f1(self):
print("B")
class C(A):
def f(self):
print("C")
class D(B):
def f1(self):
print("D")
class E(C,D):
def f(self):
print("E")
ret = E()
ret.f1() #执行结果
D

  

面向对象 "一"的更多相关文章

  1. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  2. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  3. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  4. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  5. .NET 基础 一步步 一幕幕[面向对象之对象和类]

    对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...

  6. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  7. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  8. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  9. 带你一分钟理解闭包--js面向对象编程

    上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...

  10. .NET基础拾遗(2)面向对象的实现和异常的处理基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. Struts框架中struts-config.xml文件配置小结

    弄清楚struts-config.xml中各项元素的作用,对于我们构建web项目有莫大的好处.<struts-config>是struts的根元素,它主要有8个子元素,DTD定义 如下: ...

  2. Google Chrome调试js代码

    你 是怎么调试 JavaScript 程序的?最原始的方法是用 alert() 在页面上打印内容,稍微改进一点的方法是用 console.log() 在 JavaScript 控制台上输出内容.嗯~, ...

  3. 关于firefox启动就崩溃的问题

    前些天在公司内网机器安装了Firefox Developer,每次启动直接就崩溃.最后发现问题出在Firefox的硬件加速上.解决办法: 1.右击firefox快捷方式,选择属性,在“目标”后面,即f ...

  4. Spring4 Hibernate4 Struts2在WebLogic 10.3.3上面部署

    折腾了4天,终于可以部署了: 1,lib下面的包: antlr-2.7.7.jarasm-5.0.2.jarasm-commons-5.0.2.jarasm-tree-5.0.2.jarc3p0-0. ...

  5. MyBatis 插入时返回自增主键

    XML <insert id="insert" parameterType="com.stone.model.Person"> <!-- se ...

  6. Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式

    解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式.面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和Out ...

  7. wx小程序初体验

    小程序最近太火,不过相比较刚发布时,已经有点热度散去的感觉,不过这不影响我们对小程序的热情,开发之前建议通读下官网文档,附链接:https://mp.weixin.qq.com/debug/wxado ...

  8. TCP协议滑动窗口(一)——控制数据传输速率

    窗口大小:TCP头中一个16位的域,表示当前可用接受缓冲区大小.在每个TCP对等段连接初始化时,告诉对方自己的窗口大小(不一定是满额,假如满额65201字节,可能暂时通告5840字节).若客户端接受数 ...

  9. [个人翻译]GitHub指导文件(GitHub Guides[Hello World])

    [个人翻译]GitHub指导文件(GitHub Guides[Hello World]) Mirage_j个人翻译,欢迎转载,最好标明出处http://www.cnblogs.com/mirageJ/ ...

  10. WPF开发进阶 - Fody/PropertyChanged(一)

    INotifyPropertyChanged 在WPF MVVM模式开发中,实现INotifyPropertyChanged的ViewModel是非常重要且常见的类: public class Mai ...