面向对象方法

JavaScript面向对象思想

旧城冷巷雨未停 提交于 2020-03-10 08:39:32
面向对象 面向对象是一种编程思想,以对象数据类型的基础的编程思想。 有句话说的好,万物皆可为对象。 MDN面向对象简介 面向对象的三个特性 封装 多态 继承 面向对象的好处 在不了解原理的情况下,也能使用其功能。 在不了解内部原理的结构体系,但是知道表面的各种操作(冰箱上的各个按钮)。 面向对象的思想 面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。 面向对象更加强调运用人类在日常生活的逻辑思维中经常采用的思想方法与原则,如抽象、分类,继承、聚合、多态等。 对象是对客观事物的抽象,类是对对象的抽象。 正如人类是一个类,具体的某个人,就是人类的一个具体的对象。 之后,是对象的属性及对象的方法。 例如,人的属性有:姓名,年龄,性别,身高,体重等等;人的方法有吃饭,说话,运动等等。 四个设计模式 单例模式 每一次都要手动新建对象。 调用方法:对象名.属性名 var zs = { name : "zhangsan" , set : function ( ) { } , get : function ( ) { } } 工厂模式 就是一个 普通函数 代码的冗余; 函数可以实现代码的 高内聚和低耦合 function people ( name ) { var obj = { name : name , ... } return

请解释python面向对象中的继承

£可爱£侵袭症+ 提交于 2020-03-09 17:23:13
解释继承 一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取所有的类成员(属性和方法)。 继承使我们可以重用代码,并且还可以更方便地创建和维护代码。Python 支持以下类型的继承: 1. 单继承- 一个子类类继承自单个基类 2. 多重继承- 一个子类继承自多个基类 3. 多级继承- 一个子类继承自一个基类,而基类继承自另一个基类 4. 分层继承- 多个子类继承自同一个基类 5. 混合继承- 两种或两种以上继承类型的组合 什么是 Flask? Flask 是一个使用 Python 编写的轻量级 Web 应用框架,使用 BSD 授权。其 WSGI 工具箱采用 Werkzeug,模板引擎则使用 Jinja2。除了 Werkzeug 和 Jinja2 以外几乎不依赖任何外部库。因为 Flask 被称为轻量级框架。 Flask 的会话会话使用签名 cookie 来允许用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。但如果要修改会话,则必须有密钥 Flask.secret_key。 本文首发于 Python黑洞网 ,博客园同步跟新 来源: https://www.cnblogs.com/pythonzhilian/p/12449276.html

python学习笔记(七):面向对象编程、类

不羁的心 提交于 2020-03-09 09:28:27
一、面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想。在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一个功能。举个例子,你要做饭,可以用电磁炉,也可以用煤气灶。不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路,两种最重要的编程范式分别是面向过程编程和面向对象编程。 提到面向对象,就不得不提到另一种编程思想,面向过程;什么是面向过程呢,面向过程的思想是把一个项目、一件事情按照一定的顺序,从头到尾一步一步地做下去,先做什么,后做什么,一直到结束。这种思想比较好理解,其实这也是一个人做事的方法,我们之前编程的思想也都是使用这种思想。这种编程思想,只要前面有一个步骤变了,那么后面的就也要变,后面维护起来比较麻烦,这样的编程思想,我们在写一些简单的小程序、只执行一次的脚本时可以使用。而面向对象呢,面向对象的思想是把一个项目、一件事情分成更小的项目,或者说分成一个个更小的部分,每一部分负责什么方面的功能,最后再由这些部分组合而成为一个整体。这种思想比较适合多人的分工合作,就像一个大的机关,分各个部门,每个部门分别负责某样职能,各个部门可以充分发挥自己的特色,只要符合一定前提就行了。 举个例子:比如刚才说的一个大的机关,要做某一个项目,从面向过程的思想来说,应该是这样分析的

面向对象阶段复习

孤者浪人 提交于 2020-03-09 09:10:44
面向对象阶段复习 一、类,对象,属性方法调用 class 类名(父类1,父类2): 静态属性 = '' # 静态属性,也叫类属性 def __init__(self): # 初始化方法 self.name = 'aa' def func(self): # 动态属性 方法 print(self.age) # 这里的age可以是实例化后,通过对象.age = xxx 的方式添加的属性 对象 = 类名() # 实例化 对象.方法名() # 调用类里面的方法 对象.属性名 # 调用类里面的属性 对象即类里面的self 对象.name # 调用name属性 对象.age = 18 # 添加属性,与前面的print(self.age)相应 对象.func() # 实际上也等于类名.func(对象) 二、组合:表达什么有什么的问题,一个类都属性是另一个类的对象 # 组合:class 里面有 course class Course: def __init__(self,name,price,period): self.name = name self.price = price self.period = period class Class: def __init__(self,name,course): self.name = name self.course = course #

java面向对象简介

吃可爱长大的小学妹 提交于 2020-03-08 22:05:25
对于面向对象的设计有三个主要的特征 封装性: 封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能 隐藏对象的内部实现细节。内部的操作对外部而言不可见 继承性: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类 具有父类相同的行为。 多态性: 多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口, 使用不同的实例而执行不同操作。多态性是对象多种表现形式的体现 面向对象程序开发三步骤 OOA:面向对象分析 OOD:面向对象设计 OOP:面向对象编程 可以根据生活场景理解程序 来源: https://www.cnblogs.com/shitulaoma/p/12445102.html

js 面向对象

主宰稳场 提交于 2020-03-08 07:55:20
1.对象的表现形式 // new Object() var person = new Object(); person.name = "sdf"; person.age = "23"; person.job = "Enginer"; person.sayName = function () { alert(this.name) } person.sayName(); //对象字面量模式 var person = { name: "sdf", age: 23, job: "Enginer", sayAge: function () { alert(this.age) } } person.sayAge();   Reflection:如果有多个对象需要创建多次 2.创建对象工厂模式 func:解决了创建多个对象模式,但是没有解决对象识别的问题(即怎么知道一个对象的类型) function creatPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function () { alert(this.name) } return o; } var person1 = creatPerson("Nicholas", 23, "Enginer"

python学习笔记——面向对象

你说的曾经没有我的故事 提交于 2020-03-08 07:50:41
1.访问限制 练习1 class Student(object): def __init__(self, name, gender): self.__name = name self.__gender = gender def get_gender(self): return self.__gender print('%s' %self.__gender) def set_gender(self,gender): if gender == 'male' or gender == 'female': self.__gender = gender else: raise ValueError('Please set a correct gender!') bart = Student('Bart', 'male') print(bart.get_gender()) bart.set_gender('female') print(bart.get_gender()) ( 题外话 )python 里的与或非: 一般格式为:a & b a | b a and b a or b 如果a,b是数值变量, 则&, |表示位运算, and,or则依据是否非0来决定输出 例如: 1 & 2 # 输出为 0, 1 | 2 # 输出为3 (# 1&2,2在二进制里面是10,1在二进制中是01

Java:面向对象的三大特征

回眸只為那壹抹淺笑 提交于 2020-03-07 13:39:03
一、封装 1. 概述 定义:将类的某些信息隐藏在类的内部,不允许外部程序直接访问。只能通过该类提供的 特定的方法 来实现对隐藏信息的操作和访问,也就是: 要隐藏对象的信息 同时也要留出访问的接口 2. 封装的特点 隐藏类的实现细节,实现了信息的隐藏及安全性,方便修改和实现 提高了程序的模块化 ,提高系统独立性和软件的可重用性,且易于维护 具体实现是编写该类的人控制的,让 使用者只能通过事先定制好的 方法 来访问数据 ,实现者可以方便地加入控制逻辑,限制对属性的不合理操作 封装的实现 变量:使用 private 修饰,这就是变量的封装 方法:也是一种封装,封装了多条代码 类: 也是一种封装,封装了多个方法 封装的实现步骤: 封装的实现 public class Cat { //成员属性: //修改属性可见性---private 限定只能在当前类内访问,只能修饰成员变量 private String name; public Cat() { } //创建get/set方法 //在get/set方法当中添加属性的限定 public void setName(String name) { //set方法一般没有返回值 this.name = name; } public String getName() { return "我是一只名叫"+this.name+"的猫咪"; } public

JAVA面向对象变成学习!

两盒软妹~` 提交于 2020-03-07 08:39:30
一、抽象过程 Smalltalk 的五个基本特性,这些特性表现了一种纯粹的面向对象程序设计方式: 1. 万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它 在自身上执行操作。理论上讲,你可以抽取待解问题的任何概念化构件(狗、建筑物、 服务等),将其表示为程序中的对象。 2. 程序是对象的集合,它们彼此通过发送消息来调用对方。要想产生一个对对象的请求, 就必须对该对象发送一条消息。更具体地说,你可以把消息想象为对某个特定对象的方 法的调用请求。 3. 每个对象都拥有由其它对象所构成的存储。你可以通过创建包含现有对象集合的包的 方式来创建新类型的对象。因此,你可以在程序中构建复杂的体系,同时将其复杂性通 过对象的质朴性得以屏蔽。 4. 每个对象都拥有其类型(Type)。按照通用的说法,“每个对象都是某个类(Class)的 一个实例(Instance)”,其中“类”就是“类型”的同义词。每个类中最重要的区别于其它 类的特性就是“你可以发送什么消息给它?” 5. 某一特定类型的所有对象都可以接收(Receive)同样的消息。这是一句意味深长的表述, 你在稍后便会看到。因为“圆形(circle)”类型的对象同时也是“几何形(shape)”类型 的对象,所以一个“圆形”对象必定能够接受(accept)发送给“几何形”对象的消息。这 意味着你可以编写与“几何形

五、面向对象简述

做~自己de王妃 提交于 2020-03-07 06:57:05
标题一、封装 1、封装的好处 (1)安全性 (2)隔离变化 (3)易于使用 (4)可重用 (5)封装体现了程序设计的高内聚和低耦合 2、封装的实现 (1)设置属性的可见性:private (2)编译问题:封装后不能使用“对象名.属性名”直接修改属性,使用get(),set()方法修改属性(public) 3、可见性和访问规则 (1)可见性:public(不同包中可访问)、protected(同包子类可访问)、default(同包可访问)、private(同类中可访问) (2)JavaBean:POJO类(实体类) (3)构造函数: 作用:对对象的属性进行初始化 特点:方法名与类名保持一致;没有返回类型;没有返回值,可以只写一个return。 注: (1)定制构造函数时,还需要无参构造函数,需要自己定义 (2)使用this关键字时,必须将它放在该构造函数的第一个有效语句 4、构造函数与普通函数的区别 (1)构造函数名需要与类名一样,普通函数名只需遵守命名规则 (2)构造函数没有返回类型 (3)普通函数可以多次调用,构造函数在创建对象时调用 (4)构造函数是对象建立时,由JVM调用;普通函数是对象建立后调用 5、static static主要用于修饰类的属性和方法,实现静态属性和方法的共享 6、静态代码块 Static { //代码 } (1)在加载类的字节码后立即执行