實(shí)
驗(yàn)
報(bào)
告
課 課
程
名
稱
Java 技術(shù)
專 專
業(yè) 業(yè)
班 班
級
13 -計(jì)算機(jī)科學(xué)與技術(shù)-1 班 班
學(xué)生姓名及學(xué)號
2013217 098 潘汀
指 指
導(dǎo)
教
師
鐘華剛
實(shí) 實(shí)
驗(yàn) 驗(yàn)
地 地
點(diǎn)
計(jì)算中心
20 15 5
~ 2016 6
學(xué)年第
一
學(xué)期
實(shí)驗(yàn)一
類得封裝、繼承、多態(tài)
一、實(shí)驗(yàn)?zāi)康?/p>
?。薄?fù)習(xí)、理解OOP 得特征—-封裝、繼承與多態(tài)。
2。學(xué)會使用 Java編寫簡單得類。理解類得屬性與方法。
3。掌握關(guān)鍵字 private, protected, public 得作用.
4。掌握多態(tài)得概念。
二、實(shí)驗(yàn)內(nèi)容
1.分別編寫兩個類Point2D,Point3D 來表示二維空間與三維空間得點(diǎn),使之滿足下列要求: (1)
Point2D 有兩個整型成員變量 x, y (分別為二維空間得 X,Y方向坐標(biāo)),Point2D得構(gòu)造方法要實(shí)現(xiàn)對其成員變量x, y 得初始化。
(2) Point2D 有一個 void型成員方法offset(int a, int b),它可以實(shí)現(xiàn) Point2D得平移。
?。?)
Point3D 就是Point2D得直接子類,它有有三個整型成員變量x,y,z (分別為三維空間得X,Y,Z方向坐標(biāo)),Point3D有兩個構(gòu)造方法:Point3D(int x,int y,int z)與 Point3D(Point2D p,int z),兩者均可實(shí)現(xiàn)對 Point3D 得成員變量x, y,z 得初始化。
(4) Point3D 有一個 void 型成員方法 offset(int a, int b,int c),該方法可以實(shí)現(xiàn) Point3D得平移。
(5)
在 Point3D中得主函數(shù) main()中實(shí)例化兩個 Point2D 得對象p2d1,p2d2,打印出它們之間得距離,再實(shí)例化兩個Point3D得對象p3d1,p3d2,打印出她們之間得距離。
提示:java、lang、Math、sqrt()方法 2.創(chuàng)建一個數(shù)組,隨機(jī)生成 Point2D 或者 Point3D 得對象放于其中。最后依次調(diào)用數(shù)組中每個對象得“打印方法” ,顯示數(shù)組中存儲得對象就是什么。
提示:java、lang、Math、random()方法
或者 java、util、Ran
dom 類 三、 實(shí)驗(yàn)代碼
pa ckag e exp1; i mport java、util、Random; c la ss Point2D {
int x,y; tni(D2tnioP? nt x,int y){this、x=x;t hi s、y=y;} i,a tni(tesffo diov? int b)
{t his、x+=a;t his、y+=b;}
void print()
?。觵stem、 o u t 、printf(”Point2D:(%d,%d)\n",x,y);} } cla ss Point3D ex tends Point2D {
in t z; ni(D3tnioP? nt x, i nt y, int z) { super(x, y);thi s、z=z;} ov? oid offset(int a,int b,i nt c) { this、x+=a;this、y+=b;t his、z+=c;}
vo id print()
?。觵stem、o u t、printf(”Point3D:(%d,%d,%d)\n”,x,y,z);} } p ub lic c lass Main {
stati c double distance(Point2D a,Point2D b){
ter? eturn java、lang、Math、sqr t (((a、x—b、x)*(a、x-b、x)+(a、y—b、y)*(a、y—b、y)));
}? stati c double distance(Point3D a,Point3D b){ er?? ret urn java、lang、Math、s q rt (((a、x—b、x)*(a、x-b、x)+(a、y-b、y)*(a、y-b、y)+(a、z-b、z)*(a、z-b、z)));}
publ ic static v oi d main(String args[])
?。?/p>
Point2D p2d1=new Point2D(1,1),p2d2=new Point2D(2,2);
? Point3D p3d1=ne w Point3D(1,1,1),p3d2=new Point3D(2,2,2);
、metsyS? ou t、printf("%f %f\n”,di st a n ce(p2d1,p2d2),di sta n c e(p3d1,p3d2));
? in t T=10;
? Point2D arr[]=new Point2D[T];
rof? r(int i=0;i<T;i++){
? r、htaM、gnal、avaj()tni(=epyt tni? a ndom()*2);
int x=(in t)(java、lang、Mat(yī)h、r an do m ()*100),
y=( int)(java、lang、Math、r a ndom()*100),
r、htaM、gnal、avaj()tni(=z?? a ndom()*100);
if(type==0)
arr[i]=new Point2D(x,y);
le? lse arr[i]=new Point3D(x,y,z);
? }
for(int i=0;i〈T;i++){arr[i]、print();}
}?} 四 、思考題
?。?您對面向?qū)ο蟮美斫? 答:面向?qū)ο笞钪匾萌筇匦裕悍庋b、繼承、多態(tài)。圍繞這三個核心特性, 面向?qū)ο蟪绦蛟O(shè)計(jì)方法給軟件工程帶來得全新得程序結(jié)構(gòu)設(shè)計(jì)模式. 面向?qū)ο笈c核心概念就就是理解【類】、與【對象】。
具體來講,首先我對【類】一詞得理解如下:
類就就是一組有共性得對象。它描述一個特定得抽象并提供創(chuàng)建對象得模板,如果類不具備某中特性,那么它得對象也不能具備該特性.
類就就是分類,比如人類,就就是關(guān)于人得定義,包括一些屬性與操作這些屬性得動作,就是對一個實(shí)體得抽象得描述。因?yàn)榫褪且粋€抽象概念,在使用得時候必須進(jìn)行實(shí)例化,即將類具體為一個具體得實(shí)體。
由類牽扯出【對象】得理解: 對象,就是一個類得具體實(shí)現(xiàn),比如某人 Jack,就就是擁有一個名字屬性為Jack得人類,她可以有其她得屬性,具有人類里得所有方法(可以簡單得理解為行為與操作屬性得)。
對象需要有狀態(tài),用以描述對象得特征與當(dāng)前得狀態(tài).對象還需要有行為,定義其她對象對該對象所施加得動作.行為可能需要依賴于對象得狀態(tài)。在某種情 況下,對象可以有某種行為,而在另外一些情況下,則不能。每一個對象都必須被唯一得標(biāo)識(對象得名字不能相同,至少在一個場景中)。
對象通過協(xié)作,通信來完成一個比較完整得分工,這些分工整合起來,就就是整個軟件系統(tǒng).
2.什么就是多態(tài)?Java 中如何實(shí)現(xiàn)多態(tài)? 【概念理解】
多態(tài)就就是說,比較低層次得抽象得實(shí)體可以被支持比較高層次抽象得一些操作得實(shí)體所支持。實(shí)現(xiàn)這些概念需要得工具,或者說描述方式,關(guān)于多態(tài)得描述有一個比較傳統(tǒng)得例子:一個比較高層次得抽象,稱為形狀,然后從形狀繼承而來得有圓,長方形(也可以有由長方形繼承而來正方形),三角形等低層次抽象,有這樣一個外部實(shí)體,它支持對形狀得操作,比如計(jì)算形狀得面積(不用考慮怎么計(jì)算,也不用 考慮計(jì)算得形狀就是那種),由于它支持得就是形狀(比較高層次得抽象),那么不論就是圓,長方形,三角形它就都支持。而具體到每個低層次得抽象得實(shí)際計(jì)算時,各自使用各自得計(jì)算方法,最終返回結(jié)果就可以了.
這樣做得一個明顯得好處就是,如果以后發(fā)現(xiàn)新得比較低層次得抽象后,直接加入系統(tǒng)即可,無需考慮上層使用者得修改。在運(yùn)行時,編譯器會知道需要計(jì)算哪個。
【Java 實(shí)現(xiàn)機(jī)制】
Java中實(shí)現(xiàn)多態(tài)得機(jī)制靠得就是父類或者接口定義得引用變量可以指向子類或者具體得實(shí)現(xiàn)類得實(shí)例對象,而程序調(diào)得方法在運(yùn)行期才動態(tài)綁定,就就是引用變量所指向得具體實(shí)例對象得方法,也就就是內(nèi)存里正在運(yùn)行得那個對象得方法,而不就是引用變量得類型中定義得方法. 二 實(shí)驗(yàn)二 統(tǒng)系理管銷進(jìn)物貨? 貨物進(jìn)銷管理系統(tǒng)
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握 Java 中文件得讀寫操作。
?。? 功得定特成完來)tsiLyarrA ,rotceV(類用實(shí)得供提 avaJ用使會學(xué)?能。
3.掌握字符串類(String, StringBuffer)得使用。
。4
。題問雜復(fù)決解與析分法方得象對向面用握掌?二、實(shí)驗(yàn)內(nèi)容
編寫一個 Inventory、java 完成以下功能(沒有學(xué)過 Java 文件處理之前,各位同學(xué)可以使用硬編碼將數(shù)據(jù)放進(jìn)兩個Vector 變量里。等學(xué)過Java 文件處理之后,再補(bǔ)充數(shù)據(jù)文件讀取部分):
。1 rT 取讀后然,錄記存庫有所得錄記中 tad、yrotnevnI 取讀并開打先首序程?ansactions、dat(yī),處理這個文件中包含得事務(wù),記錄發(fā)貨記錄到Shipping、dat,并記錄錯誤信息到 Errors、dat 中。最后更新庫存到另外一個文件NewInventory、dat 中. .2 ,錄記貨存?zhèn)€一含包行每得 tad、yrotnevnIweN與tad、yrotnevnI件文?沒條記錄包含下面一些字段息,這些字段之間用一個 tab分開(見后面得文件格式): 字段 格式與含義 Item number 字符串型,貨物編號 Quantity 整型,貨物數(shù)量 Supplier 字符串型,供應(yīng)商編號 Description 貨物描述
3.字段 Items 按照從小到大得順序?qū)懭缥募?。注?Item 號不必連續(xù),如Item 號為 752 得后面可能就是 800。
?。矗募裕騛nsactions、dat 包含幾個不同得事務(wù)處理記錄(每行一條記錄)。每條記錄前面以一個大寫字母開頭,表示這條記錄就是什么類型得事務(wù).在不同得大寫字母后面就是不同得信息格式。所有得字段也就是以 tab 鍵分開得(見Transactions、dat 文件格式)。
?。怠R?rsquo;O"開頭得事務(wù)表示這就是一個發(fā)貨,即某一種貨物應(yīng)該發(fā)給特定得客戶。Item號與數(shù)量 Quantity 得格式如上面表格定義。Custom編號與上面得 Supplier編號一致。處理一條定單記錄(以"O"開頭得事務(wù))意味著從減少庫存記錄中相應(yīng)貨物得數(shù)量(減少得數(shù)量=發(fā)貨單中得數(shù)量),記錄發(fā)貨信息到Shipping、
dat 中。注意:Inventory、dat 中得 quantity不應(yīng)該小于 0,如果對于某一種貨物,庫存得數(shù)量小于發(fā)貨單得數(shù)量得話,系統(tǒng)應(yīng)該停止處理發(fā)貨單,并記錄出錯信息到Errors、dat(yī)。如果對于某一種貨物有多個發(fā)貨單,而且?guī)齑婵偭啃∮谶@些發(fā)貨單得總與得話,系統(tǒng)應(yīng)該按照發(fā)貨單中得數(shù)量從小到大得有限原則滿足客戶.也就就是說,對于某一種貨物如果一個數(shù)量 Quantity少得發(fā)貨單沒有處理之前,數(shù)量 Quantity 多得發(fā)貨單永遠(yuǎn)不會被處理。(這種處理原則不受發(fā)貨單記錄在 Transactions、dat得先后順序影響) 6.以'R’開頭得事務(wù)表示這就是一個到貨單記錄,在’R'后面就是Item號與它得數(shù)量。處理一條到貨單意味著增加庫存中相應(yīng)貨物得數(shù)量(增加得數(shù)量=到貨單中得數(shù)量)。注意如果在 Transactions、dat文件中,到貨單出現(xiàn)在發(fā)貨單之后,到貨單中得貨物數(shù)量可以用來填補(bǔ)發(fā)貨單中得數(shù)量(可以理解成在 Transactions、dat(yī) 中,優(yōu)先處理到貨單)。
?。罚?rsquo;A'開頭得事務(wù)表示向庫存中增加一種新得貨物(即這種貨物以前庫存中沒有),在’A'后面就是Item 號,供應(yīng)商 supplier以及貨物得描述 description。處理一個新增貨物記錄意味著向庫存中增加一個數(shù)量 Quantity為 0 得新得 Item.您可以假設(shè)在一個 Transactions、dat(yī) 中,新增貨物記錄總就是出現(xiàn)在第一個到貨單之前。
?。福?D"開頭得事務(wù)表示從庫存中刪除一種貨物,在"D'后面就是 Item 號.刪除操作總就是在所有得事物處理之后才被處理,以保證對于可能出現(xiàn)得同一種貨物得發(fā)貨單得操作能在刪除之前被正確處理。如果要刪除得某種貨物得庫存量 Quantity 不為 0 得話,系統(tǒng)應(yīng)該向 Errors、dat記錄出錯信息。
9.文件 Shipping、dat中得每一行代表給某一客戶得發(fā)貨信息.Shipping、dat 中得每一行分別就是客戶編號、Item 號、貨物數(shù)量,它們之間用tab 鍵分隔。如果發(fā)貨單中有兩條客戶編號與 Item 編號一樣得記錄,在Shipping、dat中應(yīng)該將這兩條發(fā)貨信息合并(即將它們得數(shù)量相加)。
10.Errors、dat文件包含未發(fā)送得發(fā)貨記錄與庫存量大于0得刪除記錄。Errors、dat(yī) 每一行包含 Custom 編號、Item 編號以及發(fā)貨單上得數(shù)量Quantity。對于刪除操作,Custom 編號為0,數(shù)量 Quntity 為庫存中得 Quantity、 11。實(shí)驗(yàn)測試數(shù)據(jù):
三、 實(shí)驗(yàn)代碼
class Item {
;noitpircsed,reilppus,rebmun gnirtS? ;ytitnauq tni?tni,rebmun gnirtS(metI? t quantity,String supplier,String description){
? t hi s、number=number;
;ytitnauq=ytitnauq、siht?? t? thi s、supplier=supplier;
? this、description=description;
} } class Transpare i mp le men ts parator {
publi c int pare(Object o1, Object o2) {
;1o)metI(=1e metI?
Item e2=(Item)o2;
if(e1、quantity > e2、quantity)
ret urn 1;
e lse if(e1、quantity〈e2、quantity) re tur n -1;
e lse retu rn 0;
} } p ubl ic class Main {
pu blic sta tic vo id main(String args[]) throws IOException{
?。鱡n=ni?? w ("Inventory、txt”);
n=1tuo? ne w ("Shipping、txt");
?。錸=2tuo?? ew ("Errors、txt”);
? BufferedWriter shipping=new BufferedWriter(out1);
BufferedWriter errors=new BufferedWriter(out2);
? Scanner scan=ne w Scanner(in);
String number = null,supplier,description;
?。頸?? nt quantity;
? Map<String,Item〉 map=new HashMap<String,Item>();
? Map<String,Item〉 transHash= new HashMap<String,Item〉();
Vector<Item> trans=new Vector<Item〉(),del=new Vector〈Item〉(),
rec=new Vector<Item>(),add=new Vector<Item〉();
//記錄生成
))(txeNsah、nacs(elihw??
{ ?;)(txen、nacs=rebmun??;)(tnItxen、nacs=ytitnauq?
;)(txen、nacs=reilppus???;)(txen、nacs=noitpircsed?
?。唬?noitpircsed,reilppus,ytitnauq,rebmun(metI wen ,rebmun(tup、pam??
?。? ? String type;
wen=ni? w (”Transactions、txt");
;)ni(rennacS wen=nacs? ? //數(shù)據(jù)讀入—離線存儲
while (scan、hasNext())
?。??;)(txen、nacs = epyt? ?
if (type、equals("0")) {
?? number = scan、next();
??;)(tnItxen、nacs = ytitnauq??
;)(txen、nacs = reilppus???
;reilppus+"###”+rebmun=txeThsah gnirtS??
? if(!transHash、containsKey(hashText)){
//Hash 發(fā)貨單
?
tup、hsaHsnart??
(hashText, new Item(number,quantity,supplier,”None"));
?
}
e?? el se transHash、get(hashText)、quantity+=quantity;
}??e? else if (type、equals(”R”)) {
?;)(txen、nacs = rebmun? ?
quantity = scan、nextInt();
wen(dda、cer?? w Item(number,quantity,"None”,"None”));
}esle?? se if (type、equals("D”)) {
?
;)(txen、nacs = rebmun?? ?n(dda、led? ne w Item(number,-1,”",""));
?
} else if (type、equals("A”)) {
?? number = scan、next();
supplier = scan、next();
;)(txen、nacs = noitpircsed???
??;))noitpircsed,reilppus,0,rebmun(metI wen(dda、dda?? ?
?。? ? }
//? ? for (Map、Entry<String,Item> entry :
?。簦騛nsHash、entrySet())
{??
、yrtne,rebmun、)(eulaVteg、yrtne(metI wen(dda、snart?getValue()、quantity,entry、getValue()、supplier,”None”));
?
//合并發(fā)貨單寫入
shipping、write(entry、getValue()、number + " ");
、gnirtS(etirw、gnippihs?? v a l ueO f (entry、getValue()、quantity) + " ”);
;)reilppus、)(eulaVteg、yrtne(etirw、gnippihs?
;)(eniLwen、gnippihs?
}
Collections、 so r t (trans, ne w Transpare());
//按發(fā)貨數(shù)量升序排序
加添//
)++i;)(ezis、dda<i;0=i tni(rof?
?。? ?
?。唬?teg、dda=meti metI?
;)meti,rebmun、meti(tup、pam?? 、metsyS?? ou t、printf ("添加存種:%s 供應(yīng)商:%s 描述:
%s\n",item、number,item、supplier,item、description);
}? ? for( int i=0;i<rec、size();i++)
?。肇?/p>
{? ?
?。唬騟bmun、meti(teg、pam=ter,)i(teg、cer=meti metI?
ret、quantity+=item、quantity;
;)ter,rebmun、ter(tup、pam?
? System、o ut 、printf ("收貨:%s 數(shù)量:%d 剩余:%d\n”,item、number,item、quantity,ret、quantity);
}
for( int i=0;i<trans、size();i++)
//發(fā)貨
{?
Item item=trans、get(i),ret=map、get(item、number);
?
?。﹜titnauq、meti<ytitnauq、ter(fi?
、metsyS?? out 、printf("發(fā)貨%s 給%s 失敗,剩余:%d 需求:%d\n",item、number,item、supplier,ret、quantity,item、quantity); ;)” "+reilppus、meti(etirw、srorre??
?
;)" "+rebmun、meti(etirw、srorre?
;)))ytitnauq、meti((fOeulav、gnirtS(etirw、srorre??
;)(eniLwen、srorre??
c?? co nt inue;
? }
ret、quantity—=item、quantity; ?;)ter,rebmun、meti(tup、pam?
? System、o u t、printf(”發(fā)貨%s 給%s 成功, 剩余:%d 需求:%d\n”,item、number,item、supplier,ret、quantity,item、quantity);
}??of?? for(int i=0;i<del、size();i++)
?。?刪除
{
;)rebmun、meti(teg、pam=ter,)i(teg、led=meti metI? ?
?。椋妫ǎ颍錿==nul l)
c ontinue; //去除無效
{)0=!ytitnauq、ter(fi?? ?ftnirp、tuo、metsyS?(”刪除%s 失敗 ,數(shù)量剩余:%d\n",item、number,ret、quantity);
?
;)" 0"(etirw、srorre??;)” ”+rebmun、meti(etirw、srorre??
? av、gnirtS(etirw、srorre? l u e Of((ret、quantity)));
?
? errors、newLine();
?? cont inue;
} ?? ?
System、ou t 、printf("刪除%s 成功,\n”,item、number);
??;)rebmun、meti(evomer、pam?
? }
? shipping、flush();
? errors、flush();
}?} 四、 實(shí)驗(yàn)結(jié)果
五 、思考題
、1
.得心驗(yàn)實(shí)出寫,結(jié)總行進(jìn)驗(yàn)實(shí)個整對?【摘要】
該實(shí)驗(yàn)本質(zhì)就就是一個模擬題。要求模擬一個進(jìn)貨發(fā)貨系統(tǒng)。
注意關(guān)鍵點(diǎn):數(shù)據(jù)不能在線處理. 體現(xiàn)在兩個方面:
?、僮x入操作順序與實(shí)際工作順序不符 ②讀入操作需要Hash 與合并 因此,只能采取離線保存+處理得手段. 由于數(shù)據(jù)主鍵并非整型值,如果就是用數(shù)組來保存,需要手寫一個 Hash 表來 Hash. 考慮到基于紅黑樹實(shí)現(xiàn)得關(guān)聯(lián) Map 容器,所以使用 Map 來Hash 與模擬數(shù)據(jù)庫。
【數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)】
Map〈String,Item> map
——作為中心數(shù)據(jù)庫 Map〈String,Item> transHash
—-用于發(fā)貨單Hash Vector<Item〉 trans,del,rec,add;
-—最終操作序列 【流程簡述】
①Inventory 文件讀入 ②Transactions 文件讀入
★-——〉在讀入發(fā)貨單時,進(jìn)行 Hash 處理,去重合并
★—--〉對于其它操作,直接扔入最終操作序列 ③對 Hash 過得 transHash ,按數(shù)量升序排序,生成最終操作序列,同時寫入 ShippingBuffer
?、軐λ膫€操作序列,循環(huán)模擬。
★--—>先處理庫存添加,更新 map 中心數(shù)據(jù)庫
★--->再處理收貨操作,更新 map 中心數(shù)據(jù)庫
★—-—>再處理發(fā)貨操作,如果庫存不足,向 errorBuffer 寫入信息
★—-—〉再處理刪除操作,如果庫存>0,向 errorBuffer 寫入信息 ⑤★★★(不能遺忘)將緩沖區(qū)寫入文件,生成 Shipping、dat、Errors、txt
推薦訪問: 實(shí)驗(yàn) 報(bào)告 java同志們:今天這個大會,是市委全面落實(shí)黨要管黨、從嚴(yán)治黨要求的一項(xiàng)重大舉措,也是對縣市區(qū)委書記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實(shí)的會議。前面,**
***年,我認(rèn)真履行領(lǐng)班子、帶隊(duì)伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細(xì)則為落腳點(diǎn),落實(shí)全面從嚴(yán)治黨主體
根據(jù)會議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報(bào)告如下:一、履職工作特色和亮點(diǎn)1 突出政治建設(shè),著力在思想認(rèn)識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服
2022年以來,在**黨委的正確領(lǐng)導(dǎo)下,堅(jiān)持以習(xí)近平新時代中國特色社會主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實(shí)開展夯實(shí)“三個基本”活動,以“四化四力”行動為抓手,聚力創(chuàng)建
各位領(lǐng)導(dǎo),同志們:根據(jù)會議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報(bào)如下:一、主要做法及成效(一)強(qiáng)化政治引領(lǐng)。一是不斷強(qiáng)化理論武裝。堅(jiān)持通過黨組會、中心組學(xué)習(xí)會和“三會一課”,第一時間、第一議題學(xué)
2022年度抓基層黨建工作述職報(bào)告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報(bào)告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開展
2022年,是我在數(shù)計(jì)系黨總支書記這個新崗位上度過的第一個完整的工作年度?;厥滓荒陙碓谛|h委的正確領(lǐng)導(dǎo)下,與數(shù)計(jì)系領(lǐng)導(dǎo)班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現(xiàn)將本人一年來,作為統(tǒng)戰(zhàn)部長履行職責(zé)、廉潔自律等方面情況報(bào)告如下:一、著眼增強(qiáng)政治素質(zhì),不斷深化理論學(xué)習(xí)堅(jiān)持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅(jiān)決擁護(hù)“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團(tuán)結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進(jìn)取,認(rèn)真履職盡責(zé),圓滿完成各項(xiàng)工作任務(wù)。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關(guān)于開展抓基層黨建述職評議會議的有關(guān)要求,經(jīng)請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究