面向对象的封装和继承特性_python

一、面向对象的几个特点

面向对象也称为类,拥有下面几个特点

1、封装特性:利用类的__init__(self)构造方法封装对象

构造方法:__init__(self):在生成对象的时候会自动调用

例子:

class person():    def __init__(self,name,age,sex):        self.name=name        self.age=age        self.sex=sex    def print_info(self,num):        print(num,self.name,self.age, self.sex)

obj=person("chen",21,‘男‘)  #调用类生成对象时填写的参数就是__init__()方法的参数。生成对象时填写的参数就是构造方法的参数obj.print_info(1)obj2=person("xiao",22,‘女‘) #封装的第二个对象obj2.print_info(2)

2、继承(1)建立父子关系:
class father:    def backetball(self):        print(‘backetball‘)
    def football(self):        print(‘father_football‘)
class son(father):   #指定这个类的父类,与其他类产生父子关系    def football(self):        print("football")obj=son()        #生成子类对象obj.football()  #football  #当子类与父类拥有同一个方法时,默认只执行子类的方法obj.backetball()    #backetball  #可以调用父类中的方法

①如果子类和父类有相同的方法,默认只执行子类中的,如何也要执行父类中的?在子类的方法中添加:super(子类名,self).方法(...)
class son(father):       def football(self):        super(son,self).football()  #添加之后也会执行父类的方法,凡是子类也是会执行        print("football")
(2)多继承(一个子类多个父类)  

  ①出现调用父类方法时,父类中有相同的方法,调用顺序:

  从左到右(如上列子F2优先于F1),一条路走到黑;同一个根时,根最后才执行。

  ②默认只执行一个_init_方法,如果要执行多个,可以在第一个里面进行调用其他

  如下面流转执行顺序例子:

  

  

 

 



原文地址:https://www.cnblogs.com/chenxiaozan/p/12183136.html

时间: 2024-11-08 13:42:01

面向对象的封装和继承特性_python的相关文章

2、C#面向对象:封装、继承、多态、String、集合、文件(上)

面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. 打包,便于管理,为了解决大型项目的维护与管理. 三.什么是类? 将相同的属性和相同方法的对象进行封装,抽象出 “类”,用来确定对象具有的属性和方法. 类.对象关系:人是类,张三是人类的对象. 类是抽象的,对象是具体的.对象可以叫做类的实例,类是不站内存的,对象才占内存. 字段是类的状态,方法是类执

c#面向对象基础 封装、继承

一.封装 这是一种隐藏的特性.可以用一个公式来展示类的封装特性: 封装的类=数据  +  对此数据进行的操作(即算法) 通俗的说,封装就是:包起外界不必要知道的东西,只向外界展露可供展示的东西. 在面向对象理论中,封装这个概念拥有更为宽广的含义.小到一个简单的数据结构,大到一个完成的软件子系统,静态的如某个软件系统要收集数据信息项,动态的如某个工作处理的流程,都可以封装到一个类中. 具备这种封装的意识,是掌握面向对象分析与设计技巧的关键. 二.继承: 继承是面向对象编程最重要的特性之—.任何类都

oc面向对象-封装,继承,多态的用法

面向对象的三大特征 — 封装 (Encapsulation) — 继承 (Inheritance) — 多态 (Polymorphism) 一,封装 1.信息隐藏,隐藏对象的实现细节,不让用户看到. 2.将东西包装在一起,然后以新的完整形式呈现出来. 3.对象同时具有属性和方法两项特性,对象的属性和方法通常被封装在一起,共同体现事物的特性,,二者相辅相承,不能分割 . 4.OC中也有四种访问权限修饰符:@public.@protected.@private.@package. private:私

反射,面向对象(封装,继承,多态)知识整理

一.反射 定义:根据字符串形式去对象中操作成员 getattr :根据字符串的形式去模块中寻找东西 hasattr:根据字符串的形式判断模块中每个东西是否存在,有就返回Ture,没有就返回False setattr:主要是起设置作用(具有创建的全局变量或者函数的作用) delattr:删除模块中的某个东西 扩展:(以字符串的形式导入模块):注释:这个不属于反射的内容 _import_(“导入模块的名字”) 二.面向对象 1.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到

面向对象之封装和继承

面向对象的三大特征:封装.继承.多态. 面向对象编程之封装: 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节 有一个最大的优点:信息隐蔽,封装即隐藏. PHP 中通过将数据封装.声明为私有的(private),再提供一个或多个公开的( public)方法实现对该属性的操作,以实现下述目的: 隐藏一个类的实现细节: 防止对封装数据的未经授权的访问.使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作: 有利于保证数据的完整性: 便

面向对象之封装,继承

面向对象的主要特征为封装,继承和多肽. 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节.优点是信息隐蔽,封装即隐藏.它要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度. 继承是面向对象最重要的特点之一,就是可以实现对类的复用. 通过"继承"一个现有的类,可以使用已经定义的类中的方法和属性. 继承而产生的类叫做子类. 被继承的类,叫做父类,

Java学习记录(补充三:面向对象的封装和继承)

面向对象的封装package day7; //面向对象的封装 public class Employee { String name = "zhangsan"; private int age; //多个方法重载 public Employee(){ } public Employee(String name,int age){ } public Employee(int age,String name){ } //可以在方法里修改不能访问的属性 public int getAge()

python面向对象编程 -- 封装、继承(python3.5)

面向对象编程三要素:封装.继承和多态.本文主要看和封装.继承相关的概念:在python中多态的概念比较模糊,本文不做讨论. 1 封装 封装:将数据和操作组装到一起,对外只暴露一些接口供类外部或子类访问,隐藏数据和操作的实现细节. 在其他面向对象语言,比如java中,属性访问控制一般有三种状态:private.protectd.public.python中没有什么东西是完全不可见的,没有任何机制可以强制性的隐藏数据.所以在python中不存在真正的只能在对象内部访问的属性.一个被大多数的pytho

面向对象的封装、继承、多态以及构造函数

1.面向对象特点:封装.继承.多态.2.构造函数 = 构造器 + 原型对象;(1)父类function UserClass(name,age,word){ //构造器 constructor this.name=name; this.age =age; this.word =word; this.init =function(){ return `${this.name} ----init初始化`; }}UserClass.prototype={ //原型对象 prototype 只能实例化之后