Python面向对象、继承和多态

面向对象变成的基本思想:类和实例

用于定义抽象类型---------------------人-----------------------------class  Person(object):------------------数据封装class Person(object):

pass                                                                 def __init__(self,name):

self.name = name

实例根据累的定义被创建出来---------小明、小红-----------------p1 = Person()------------------------------p1 = Person(‘xiaoming‘)

p2 = Person()                                    p2 = Person(‘xiaohong‘)

(1)类关键字class,类名以大写字母开头,创建实例使用类名+()

(2)类属性只调用一次(和实例化多少次没有关系);__init__()方法中的属性是实例属性,每次实例化一次就调用一次

(3)实例小明、小红除了地址不一样意外,没有什么其他不同,现实世界中区分小明、小红要依靠他们各自的名字、性别、生日等属性,所以可以在类中的__init__方法中添加属性name,在实例化时输入参数,然后取值p1.name就可以了

(4)__init__()方法的第一个参数必须是self,后续参数自由指定,实际情况需要传入什么参数就定义什么参数,和定义函数没有任何区别

(5)__init__()方法中,只有以双下划线开头__xxx的属性不能直接被外部访问,预定义属性通常用__xxx__表示,作为预留字段

(6)类是模板,实例是根据模板创建的对象,所以对象创建完以后,无论在外部怎么改变对象的属性和方法,模板中的数据是完全不受影响的。

(7)实例属性每个实例各自拥有,互相独立,模板属性有且仅有一份,所有实例共同拥有

(8)模板属性和实例属性重名时,实例属性优先级高(注意:一般实例属性方法和模板属性方法名称不要定义一样)

(9)私有类属性和实例属性不能在外部用类和实例直接访问,但是可以在内部__init__方法中print私有类属性Person.__count和实例属性self.__name,这样就可以访问了

(10)实例和类中的属性调用方式:实例p1.属性,,实例p1.方法,,类Person.属性,,类Person.方法

在class中第一的全部是实例方法,实例方法第一个参数self是实力本身

(11)实例方法:def get_grade(self):,第一个参数为self,方法中可以直接调用实例属性,,调用实例方法必须在实例上调用

(12)类方法:@classmethod,参数为cls表示类本身,类方法在类上调用

原文地址:https://www.cnblogs.com/hpzyang/p/10204710.html

时间: 2024-08-30 06:33:08

Python面向对象、继承和多态的相关文章

python 面向对象——继承与多态

Python是面向对象的编程语言,面向对象的基本单元是类 类的声明: 1 class class_name(): 2 pass 测试如下: In [1]: class c(): ...: pass ...: In [2]: a=c() In [3]: a Out[3]: <__main__.c instance at 0x07500A30> 类的继承: 1 In [4]: class base(): 2 ...: def f(self): 3 ...: print 'base' 4 ...:

Python学习(七)面向对象 ——继承和多态

Python 类继承和多态 在OOP(Object Oriented Programming)程序设计中,当我们定义一个class的时候,可以从某个现有的class 继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). 我们先来定义一个class,名为Person,表示人,定义属性变量 name 及 sex (姓名和性别):定义一个方法:当sex是male时,print he:当sex 是female时,pr

Java面向对象㈡ -- 继承与多态

Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆盖的概念.覆盖被用来支持多态.实际开发中Java通常继承于抽象类,实现于接口.如果不希望一个类被继承,或者一个方法被覆盖,或者一个成员变量被改变,就可以用final修饰.这里只说明两个问题:1,重载和覆盖的区别重载和覆盖的区别:重载发生在同一个类之中,重载要求函数名相同,参数不同(参数个数||参数类

Python之路-面向对象&amp;继承和多态&amp;类属性和实例属性&amp;类方法和静态方法

一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-" 什么是面向对象 面向对象就不像面向过程那样按照功能划分模块了,它所关注的是软件系统有哪些参与者,把这些参与者称为对象,找出这些软件系统的参与者也就是对象之后,分析这些对象有哪些特征.哪些行为,以及对象之间的关系,所以说面向对象的开发核心是对象 什么是类 面向对象编程的两个重要的概念:类和对象 类是

Python 面向对象特性二 多态(3-7)

接口类: 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 在Python中是没有接口的概念的(接口是在Java里的) from abc import ABCMeta,abstractmethod#调用abc模块中的抽象方法 # 接口类 : 接口类就是一个规范 接口类一般是项目设计人员写好的 class Pa

Python 面向对象继承

一 什么是面向对象的继承 比较官方的说法就是: 继承(英语:inheritance)是面向对象软件技术当中的一个概念.如果一个类别A"继承自"另一个类别B,就把这个A称为"B的子类别",而把B称为"A的父类别"也可以称"B是A的超类".继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码.在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功

oldboy 21th day. I love Python. 面向对象之封装, 多态, 继承 三大特性

一, 主要内容: 接口类:( 只是在工作中, 书写的一种规范.) 抽象类: 用处: 在工作中, 如果你要是规定几个类, 必须有一样的方法, 你要是抽象类. 封装: 1, 将一些属性或者方法 (一些有用的信息) 放置在一个空间中. 2, 私有成员的封装:私有静态变量, 私有属性, 私有方法 特点: 在变量前+__双下划线, 并且在类外面,子类访问私有变量,私有方法 是访问不到的. 因为私有成员,在运行时, 都会变成: _类名__变量名 所以你在类的外部,或者派生类中都不可访问. 有些方法, 变量,

python 之继承和多态

在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). 比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接打印: class Animal(object): def run(self): print('Animal is running...') 当我们需要编写Dog和Cat类时,就可以直接从Anima

面向对象-继承和多态

在这一节中,你将体会到面向对象的诸多特色. 1.单继承 class Person(Object): def __init__(self, name, age): self.name = name self.age = age def walk(self): print("%s is walking..." % self.name) def talk(self): print("%s is talking..." % self.name) # 定义子类1 py2\3都

day6面向对象--继承、多态

继承     继承:就像遗传一样,继承就是拥有父类的所有方法和属性,并且能够定义自己独特的属性和方法,对上面的类进行扩展. 可以什么都不写,直接继承父类,如下: class People(object): def __init__(self,name,age): self.name = name self.age = age def eat(self): print("%s is eating......" %self.name) def sleep(self): print(&quo