面向对象

面向对象

a 夏天 提交于 2019-11-27 06:06:37
创建方式   1.使用Object或对象字面量创建对象   2.工厂模式创建对象   3.构造函数模式创建对象   4.原型模式创建对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> // 1.使用Object内置的构造函数来创建对象 var person = new Object(); person.name = '热狗'; person.age = 20; person.fav = function () { alert(this.name) }; person.fav(); // 2.字面量方式创建 var person = { name: '热狗', age:18, fav:function () { alert(this.name) } }; person.fav(); // 3.工厂模式 function createPerson() { var person = new Object(); person.name = '热狗'; person.age = 20; person.fav = function () { alert(this.name) }; return person; } var p1 =

面向对象

冷暖自知 提交于 2019-11-26 23:15:32
1.面向对象:是一种编程的思想,程序里用面向对象的方法描述现实世界中的一个具体的事物, 2.对象 2.1什么是对象? 封装了一个事物的属性和功能的程序结构,其属性可以包括基本值,对象或者函数。对象的行为相当于其方法,特征相当于其属性。 2.2对象的创建 2.11对象字面量: var obj = { 属性名:属性值, …… 方法名:function(){ this.属性名, this.方法名(), } …… } Eg:var o = { name: 'zs', age: 18, sex: true, sayHi: function () { console.log(this.name); } }; 2.12 new Object()创建对象 var person = new Object(); person.name = 'lisit'; person.age = 35; person.job = 'actor'; person.sayHi = function(){ console.log('Hello,everyBody'); 2.13自定义构造函数 构造函数 ,是一种特殊的函数。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 构造函数用于创建一类对象,首字母要大写。 构造函数要和new一起使用才有意义。 function

Java(面向对象OOP)

和自甴很熟 提交于 2019-11-26 21:50:27
从Rob Pike 的 Google+上的一个推看到了一篇叫《 Understanding Object Oriented Programming 》的文章,我先把这篇文章简述一下,然后再说说老牌黑客Rob Pike的评论。 先看这篇教程是怎么来讲述OOP的。它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设Unix很不错,Windows很差。 这个把下面这段代码描述成是Hacker Solution。(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代码) public class PrintOS { public static void main( final String[] args) { String osName = System.getProperty( "os.name" ) ; if (osName.equals( "SunOS" ) || osName.equals( "Linux" )) { System.out.println( "This is a UNIX box and therefore good." ) ; } else if (osName.equals( "Windows NT" ) || osName.equals( "Windows 95" )) { System.out.println( "This is a

面向对象

佐手、 提交于 2019-11-26 17:57:12
面向对象的特征 (1)封装:把有共同特点的属性和方法放在一起叫做封装,一个类就是一个封装 (2)继承:子类可以继承父类的方法和属性,无须重新定义 (3)多态:事务的多种表现形态,叫做多态,用重写和重载来实现 重写:在子类和父类中,有相同的方法名,执行不同的操作,叫做重写 重载:在一个文件中,有相同的方法名,参数的个数或类型不同,执行不同的操作 注意:js里没有重载 继承 prototype原型链 每个对象下都会存在一个原型链的关键字,原型链的原理是,让一个引用类型继承另一个引用类型下的属性和方法。每一个构造函数里都有一个原型对象,原型对象都包含一个指向构造函数的指针,二实例都包含一个指向原型的内部指针 例如: function Father(){//父类 this.name=“zhangsan” } function Son(){//孩子 this.name=“zhangyi” this.age=23 } Son.prototype=new Father();//继承 var s=new Son() document.writeln( s.name )//输出父类的变量值 重写: 必须是父类与子类的关系 function Father(){//父类 this.name=“zhangsan” } function Son(){//孩子 this.name=“zhangyi” this

面向对象设计的SOLID原则

若如初见. 提交于 2019-11-26 17:02:32
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 SRP The Single Responsibility Principle 单一责任原则 OCP The Open Closed Principle 开放封闭原则 LSP The Liskov Substitution Principle 里氏替换原则 DIP The Dependency Inversion Principle 依赖倒置原则 ISP The Interface Segregation Principle 接口分离原则 Steve Smith 在5月份的微软TechED 2009上有个 SOLIDify Your ASP.NET MVC 的讲座, derick.bailey 的 SOLID Development Principles – In Motivational Pictures 很好的解释了SOLID原则。 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。 开放封闭原则 软件实体应该是可扩展

java面试宝典书籍-JavaSE基础

只谈情不闲聊 提交于 2019-11-26 13:06:49
知识:java面试宝典 JavaSE基础 注:知识都来源于Java面试宝典书籍,此处只为学习 一、Java面向对象 Standard Edition 1. 面向对象的特性以及理解 封装:将对象进行封装,封装后可以通过调用对象的方式调用对象的属性,使一切变得有序 继承:父类、子类,继承方法 多态: 方法重写(修改方法里的内容)、方法重载(方式所携带的参数不同) 、对象造型(引用类型转换) 抽象:提取一类对象共有的特征 2. 访问修饰符 public protected default private 权限修饰符 修饰符 当前类 同包 子类 其他包 public true true true true protected true true true false default true true false false private true false false false 3. clone 使用场景:当对象A需要多次调用,而在此期间,需要修改A的一些值但又不想要影响后面A对象的原值,这时就需要将A复制一份 4. new和clone的区别 共同点:都能创建对象,同时分配内存 不同点:clone不会调用构造方法,new会调用构造方法; clone()能快速创建一个已有对象的副本,即创建对象并且将已有对象中所有属性值克隆;new只能在JVM中申请一个空的内存区域

面向对象进阶

醉酒当歌 提交于 2019-11-26 10:14:35
访问可见性问题: ## 私有变量,变量名前面加"__" ## ## 私有变量/函数,在类内部可以直接调用,不可在外部调用;## ## 如果你想体现一个变量/函数特别重要你可以使用"_"## 例: 例:编辑三个数(私有),求出它们的和,并更改其中的两个数 三、 __ slots__ 魔法 注意的是__ slots__ 的限定只对当前类的对象生效,对继承的子类并不起任何作用。 例: 在python中类是动态的 来源: https://www.cnblogs.com/JYZXY/p/11317602.html

面向对象

拥有回忆 提交于 2019-11-26 07:54:50
1.面向对象思想 1.对比 面向过程:强调的是功能行为。 面向对象:关注是解决问题需要哪些对象。 面向对象是基于面向过程的。 2.好处 1: 面向对象思维方式是一种更符合人们思考习惯的思想 2: 面向过程体现的是执行者,面向对象中更多的体现是指挥者。 3: 面向对象思维方式将复杂的问题简单化。 2.局部变量和成员变量的关系 区别一:内存位置不同 ​ 成员变量存储在对内存的对象中 ​ 局部变量存储在栈内存的方法中 区别二:声明周期不同 ​ 成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失 ​ 局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失 区别三:初始化不同 ​ 成员变量因为在堆内存中,所有默认的初始化值 ​ 局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。 3.封装思想 1.体现 1.方法就是一个最基本封装体 2.类其实也是一个封装体 2.好处 1.提高了代码的复用性 2.隐藏了实现细节,还要对外提供可以访问的方式。 3.提高了安全性 4.对象 1.创建方式 new,反序列化,反射,clone 详细:new操作符,首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部

面向对象介绍

跟風遠走 提交于 2019-11-25 19:08:45
面向对象 一、什么是面向对象 1.1 面向过程编程思想 1.2 面向对象编程思想 二、如何产生对象 2.1 什么是类 2.2 如何定义类 2.2.1 函数的名称空间和类的名称空间的区别 三、什么是对象 2.3 类的操作 四、类和对象的操作:增、删、查、改 4.1 查看类和对象的名称空间 4.2 类和对象的属性(类中的变量)操作 4.2.1 查找类和对象的属性 4.2.2 增加类和对象中的属性 4.2.3 修改类和对象中的属性 4.2.4 删除类和对象中的属性 五、类中的数据属性(类中的变量) 六、类中的方法(类中的函数) 七、对象属性的查找顺序 八、对象绑定方法的特殊之处 九、一切皆对象 TOC 面向对象 一、什么是面向对象 注意:编程思想仅仅是一门思想,与任何技术无关。 面向对象是一门编程思想 1.1 面向过程编程思想 核心是 过程 二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式。 优点 将复杂的问题流程化,进而简单化 缺点 牵一发而动全身,程序的可扩展性差 1.2 面向对象编程思想 核心是 对象 二字,对象指的是 特征与技能 的结合体。 基于该编程思想编写程序,就好比在创造世界,一种 上帝式 的思维方式。 优点 可扩展性高 缺点 编写程序的复杂程度比面向过程高 二、如何产生对象