1. 程式人生 > >python3.4 實現java反射功能

python3.4 實現java反射功能

環境:
作業系統;windows10+python版本:3.4
原因:
最近在看head first設計模式,其中工廠模式中各種if else看著不爽
目標:
實現java反射功能,即根據引數名動態建立類物件,實現工廠模式
程式碼中create_pizza函式是按照python學習手冊寫的,支援類初始化時傳遞引數

class PizzaFactory(object):

    @staticmethod
    def create_pizza(aClass,*args,**kwargs):
        return aClass(*args,**kwargs)


class
CheesePizza(object):
def __init__(self,price): self.price=price def des(self): print('我是芝士披薩,價格',self.price) class ClamPizza(object): def __init__(self,price): self.price=price def des(self): print('我是雪蛤披薩,價格',self.price) if __name__=='__main__'
: test=PizzaFactory.create_pizza(ClamPizza,10) test.des()

相關推薦

python3.4 實現java反射功能

環境: 作業系統;windows10+python版本:3.4 原因: 最近在看head first設計模式,其中工廠模式中各種if else看著不爽 目標: 實現java反射功能,即根據引數名動態建立類物件,實現工廠模式 程式碼中create_pi

unity shader (4)--實現反射模型

摘自馮樂樂的《unity shader 入門精要》 首先給shader其一個名字 Shader "Custom/DiffuseVertxLevelMat" 為了得到並控制材質漫反射的顏色,在Properties語義塊中宣告如下 #include "Lighting.

js中eval的使用可以達到java反射功能

javascript中eval的使用可以達到java反射的效果 <% /********************************************************************** * 工作流附件管理js * 2016-4-8 許暢

python實戰串列埠助手---4實現串列埠功能

import sysimport threadingimport timeimport serialimport binasciiimport logging class serDeal(object):    def __init__(self, Port="COM4", BaudRate="9600",

安卓使用socket控制樹莓派的GPIO口 python3.4實現

轉載請註明出處,謝謝! 樹莓派提供了python語言實現的gpio控制包,詳細介紹可見http://maxembedded.com/2014/07/using-raspberry-pi-gpio-using-python/#PinConfig。首先在系統中開啟

使用WebCam實現java拍照功能

需要的jar包: jar包連結: 連結:https://pan.baidu.com/s/1ms_bBDNU8dXQxZ4V

利用JAVA反射機制實現調用私有方法

parse try ble cat 權限 利用 enabled tde mod 1.fragment是AccessibilityFragment的對象。須要被調用的方法的類。 setAccessible(true)並非將方法的訪問權限改成了public。而是取

反射實現java深度克隆

span i++ anti ear access over component [] newobject 一、克隆 有時想得到對象的一個復制品,該復制品的實體是原對象實體的克隆。復制品實體的變化不會引起原對象實體發生變化,這樣的復制品稱為原對象實體的克隆對象或簡稱克隆。

java實現分頁功能的類

oid gen asf agen pre 首頁 != eno true package smn.util; public class Pager { private int pageNow; private int pageSize=4; pri

httpd-2.4實現虛擬主機、訪問控制及https功能

httpd-2.4 安全訪問 https 虛擬主機準備工作:在Centos7中安裝httpd,使用yum安裝或自己編譯安裝,建議使用yum安裝,快捷又方便。 關閉防火墻及selinux。提供兩個基於名稱的虛擬主機www1, www2;有單獨的錯誤日誌和訪問日誌;先建立虛擬主機www1a.在

java反射機制實現攔截器

tor 攔截 stat 重要 obj static interface 程序 bject 實現一個攔截器必須要實現一下幾個類: 1 目標類接口:目標類要實現的接口。 package com.lanvis.reflect; public interface ITarge

Java中利用IO流中的輸入流讀取文件實現登錄功能

use 判斷 body 當前 ole pwd files pre users 1 package object.io; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundEx

利用java反射機制實現List<Map<String, Object>>轉化為List<JavaBean>

tis one row 註解 網上 span mybatis star mod 最近在用mybatis做項目,遇到將date格式化顯示到easyui的問題,需要將List<Map<String, Object>>轉化為List<JavaBean

用感知機(Perceptron)實現邏輯AND功能Python3代碼

tar num print 在一起 最終 for %d __init__ 零基礎 之所以寫這篇隨筆,是因為參考文章(見文尾)中的的代碼是Python2的,放到Python3上無法運行,我花了些時間debug,並記錄了調試經過。 參考文章中的代碼主要有兩處不兼容Pytho

java反射實現前端接收實體對象,去除“null”字符串

學習工具總結從前臺輸入的的json 格式數據。轉換成對應的實體類後。 可能會出現把null 轉換成“null”字符串。這樣的數據在存入數據庫是可能會因為數據格式,存入時會有問題。實體字段多,修改有很麻煩。所以需要統一編輯處理下。 實體類package com.tansun.ider.model.vo; pub

Java實現wc部分功能

def planning lin 改進 hub \n personal earch https GitHub倉庫:https://github.com/TaoTaoLv1/WcProject 一、開發前PSP表格預估* PSP2.1Personal Softwa

小白のjava實現wc.exe功能

cte string 目前 exc dsw != 獲取文件 讀取 界面 GitHub地址 項目完成情況   基本功能列表(已實現)     wc.exe -c file.c //返回文件 file.c 的字符數     wc.exe -w file.c /

WC的基本功能實現.(Java)

編碼 工作 epo 輸入 stage 目前 com 審核 dev 我的GitHub地址:https://github.com/Yuetao1219/lessons WC 項目要求 wc.exe 是一個常見的工具,它能統計文本文件的字符數、單詞數和行數。這個項目要求寫一個命令

軟件工程:java實現wordcount基本功能

param process mar 一個 match sig str 需求 war github鏈接:https://github.com/Nancy0611/wc 一:項目相關要求   該項目能統計文本文件的字符數、單詞數和行數。這個項目要求寫一個命令行程序,模仿已有wc

Java實現WC.exe功能

standard 字符串 alt 子目錄 目錄 rev 控制字符 例如 能夠 1 WC 項目要求 項目地址:https://github.com/LIBULULU/yy wc.exe 是一個常見的工具,它能統計文本文件的字符數、單詞數和行數。這個項目要求寫一個命令行程序,模